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

汇编语言程序设计的两道题

1.执行一条段内RET指令后,应完成的操作是( ) 。 A.SP指针加2,然后从堆栈中弹出两个字节内容 B.从堆栈中弹出两个字节的内容,然后SP指针加2 C.SP指针减2,然后从堆栈中弹出两字节内容 D.从堆栈中弹出两个字节的内容,然后SP指针减2 2.下面的程序将二进制表示的十六进制数字转换成ASCII码再显示出来请根据题意,完善该程序。 TABLE SEGMENT TAB_DA DB 30H , 31H , 32H , 33H , 34H DB 35H , 36H , 37H , 38H , 39H DB 41H , 42H , 43H , 44H , 45H , 46H TAB_HEX DB 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 DB 0AH, 0BH, 0CH, 0DH, 0EH, 0FH TABLE ENDS COSEG SEGMENT ASSUME (1) START: MOV AX , (2) MOV DS , AX MOV CX , 10H MOV BX , OFFSET TAB_DA MOV SI , OFFSET TAB_HEX NEXT: MOV (3) , [SI] XLAT TAB_DA MOV (4) , AL MOV AH , 02H INT 21H MOV DL , 00H ;显示空格 MOV AH , 02H ; INT 21H ; INC (5) LOOP NEXT MOV AH , (6) INT 21H COSEG (7) END START (1)(2)(3)(4)(5)(6)(7)分别填写什么?
追问:看不明白,不能详细点嘛
答案:把你解答下这两个题目:
1、选B,子程序的RET指令就是先要把堆栈中原来入栈的地址给弹出来,也就是主程序中得调用子程序中得下一指令,然后堆栈指针SP加2,注意栈地址是栈底地址最大,越上越小。
2、(1)DS:DATA ,CS:CODE
      (2)DATA
      (3)AL
      (4)DL
      (5)BX
      (6)4C00H
      (7)ENDS
这个应该是很简单啊,自己找本书好好看看类似的程序,很多空都是程序的基本结构里的语句,好好看看书,希望对你有所帮助。
其他:1.显示字符串 data segment mess db 'Hello!','$' data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax lea dx,mess 多看点书就会了

上一个:汇编语言编程工具,给个链接,谢谢。。
下一个:汇编语言编程

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,