当前位置:编程学习 > 汇编语言 >>

汇编语言程序改错题

把存放在BUFF中的十六位二进制数转换为ASCⅡ码表示的等值数字字符串,请在错误处划下划线并在该语句后写出正确答案。 DATA SEGMENT BUFF DB,4FB6H ASCC DB,5,DUP__?__ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA LEA DS,AX MOV CX,5 MOV DI,ASCC XOR DX,DX MOV AX,BUFF MOV BX,0AH AGAIN DIV,BX ADD DL,30H MOV [DI],DL AND AX,AX JNZ STO MOV DCO LOOP AGAIN STO:MOV AX,4CH INT 20H CODE ENDS END START 若回答的好,会增加悬赏值。急!!!!!!!!!!!
追问:你把程序 的结构也改了……………………要求只改错的语句……………………能详细点吗????我汇编语言一点都不会。周三就考试了。谢谢啊
答案:改好了,试试看:

DATA  SEGMENT
    BUFF  Dw  4FB6H
    ASCC  DB  5  DUP(?)
DATA  ENDS
CODE  SEGMENT
    ASSUME  CS: CODE, DS: DATA
START:
    MOV  AX, DATA
    mov  DS, AX

    lea  DI, ASCC

    MOV  AX, BUFF
    MOV  BX, 0AH
    MOV  CX, 5
AGAIN:
    XOR  DX, DX
    DIV  BX
    ADD  DL, 30H
    MOV  [DI], DL
    AND  AX, AX
    JZ   STO
    inc  di
    LOOP AGAIN

STO:
    MOV  AX, 4CH
    INT  21H
CODE  ENDS
    END  START 

程序可以正常运行。观看结果必须用DEBUG。
其他:高深  去请教高手老师吧 1.PUSH AH ;不支持AH,此处应为16位寄存器/存储器/段寄存器 3.8086的堆栈操作以字为单位,数据入栈后,SP自动减1,数据出栈后,SP自动加1. 应为:8086 

上一个:汇编语言 5+8=13的编译
下一个:汇编语言作业求解答,输入一数字系列,统计偶数个数,并显示!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,