Tasm程序错误

时间:2013-06-18 05:33:33

标签: assembly x86 tasm

我需要这个汇编语言程序的帮助,因为这是我第一次尝试编写程序,但我不知道如何启动。这是问题

编写一个汇编语言程序,允许用户输入若干年(从1到30),然后告诉用户该年内有多少个月,几周,几天,几小时和几分钟。 示例1:输入:年数:1 产出:月:12 周:52 天:365 营业时间:8760 会议纪要:525600

我从我们的实验室手册中得到了这个,我尝试制作自己的品味,但这是错误的,无法正常执行。这是第一次练习,但我不知道如何开始这个结构。我是编程的初学者,我想在这个程序中变得更好。谢谢你,对不起,我的英语很糟糕。

1 个答案:

答案 0 :(得分:0)

使用调试器确定适当的缺失值。

使用编辑器输入结果。手写的结果是不可接受的。

TITLE  CS14PGM1:  DEBUGGER
        ; MY NAME IS (your name here).
        .MODEL  SMALL
        .STACK  100H
        .DATA
xx          db  0E5h
xx1         db  74h
yy          dw  0BB33h
A           DW   5599h
B         DW     -37
MESSAGE DB      '98765'
        .CODE
MAIN        PROC
        MOV    AX,  @DATA
        MOV      DS,   AX
        MOV    AX,  A
        MOV     AX,  0AABAH
        MOV     AL,   MESSAGE
        MOV     AX,   0AABAH
        MOV     AL,    BYTE  PTR  A
        MOV     AX,   WORD  PTR  xx1
        LEA     AX,   MESSAGE
        MOV     AX,   1237H
        MOV     AX,   B
        MOV     AX,   5234H
        MOV     AL,   -23
        MOV     BYTE  PTR  A,  -23
        MOV     A,   -23
        mov     al, byte ptr xx+1      ;  ax=
        mov     bl, byte ptr yy+1      ;  bx=
        mov     cx, word ptr  xx     ;  cx=
        mov     byte ptr xx, 0AAh      ;  xx=
        mov     byte ptr xx+1, 0BBh    ;  xx1=
        mov     word ptr xx, 0CCDDh    ;  xx=    xx1=
        mov     byte ptr yy, 22h       ;  yy=
        mov     byte ptr yy+1, 33h     ;  yy=
        mov     word ptr xx+1, 4455h   ;  xx=    xx1=    yy=
        mov     word ptr xx1,  0099h   ;  xx=    xx1=    yy=
        mov     word ptr a+1, 1234h    ;  A=       B=

        MOV     AX,  4C00H
        INT     21H
MAIN     ENDP
END      MAIN