问题 填空题

根据上题的程序,第一次执行PUSH DX指令时,(DX)= 【7】

答案

参考答案:4。

解析:这个程序的功能: 将AX寄存器中的十六进制数(36H)转换为十进制数的ASCII码,最多可处理5位数的十进制数。结果存入以变量BUF为首地址的连续的5个字节单元中。 主要程序段,我们将它进行详解: LP1: MOVDX,0 DIV BX ;DX寄存器存放余数,即AX中相应十进制数 ;的个位AX寄存器存放商 PUSH DX INC CX ;CX寄存器存放已处理的位数 CMPAX,0 ;判断AX中的十六进制数是否已处理完 JNE LP1 ;未处理完继续处理,依次求出AX中相应 ;十进制数的十位、百位、千位和万位 MOV BX,5 ;已经处理完,准备在屏幕上显示结果 SUB BX,CX LP2: POP DX ADD DL,30H ;将十进制数转换为对应的ASCII码值 MOV [D1],DL INC DI LOOP LP2 CMP BX,0 JE EXIT MOV CX,BX LP3: MOVBYTE PTR[DI],20H ;十进制数不足5位的,在十进制数的 ;后面以空格补足5位 INC DI LOOP LP3 EXIT: RET 第一次执行PUSH DX指令后,DX寄存器存放AX(36H)中相应十进制数的个位,即4。 程序执行结束后,以变量BUF为首地址的连续5个字节单元的内容是35H,34H,20H, 20H,20H。

多项选择题
单项选择题