IBM-PC汇编语言程序设计答案

49703100.doc - 40 - 作者:User

MOV AX, 4321H CALL HTOA RET

MAIN ENDP ;主程序部分结束 ;-------------------------------------------------------------------- HTOA PROC NEAR ;HTOA子程序

CMP AX, 15 JLE B1 PUSH AX PUSH BP MOV BP, SP

MOV BX, [BP+2] AND BX, 000FH MOV [BP+2], BX POP BP MOV CL, 4 SHR AX, CL CALL HTOA POP BP

B1: ADD AL, 30H

CMP AL, 3AH JL PRINTIT ADD AL, 7H

PRINTIT: MOV DL, AL

MOV AH, 2 INT 21H RET

HOTA ENDP ;HOTA子程序结束 ;-------------------------------------------------------------------- CODE ENDS ;代码段结束 ;******************************************

END START ;程序结束

答:堆栈最满时各单元的地址及内容如右上图所示:

0500:00EC :00EE 返回POP BP地址 0003H :00F0 :00F2 返回POP BP地址 0002H :00F4 :00F6 返回POP BP地址 0001H :00F8 :00FA 主程序返回地址 0000 :00FC (DS) :00FE

00EE SP:

6.4 题堆栈最满时各单元

的地址及内容

6.5 下面是一个程序清单,请在下面的图中填入此程序执行过程中的堆栈变化。

;*************************

0000 STACKSG SEGMENT 0000 20 [. DW 32 DUP (?)

? ? ? ?

]

0040 STACKSG ENDS

;*************************

0000 CODESG SEGMENT PARA ?CODE‘

;--------------------------------------

0000 BEGIN PROC FAR

ASSUME CS: CODESG, SS: STACKSG

0000 1E PUSH DS 0001 2B C0 SUB AX, AX 0003 50 PUSH AX 0004 E8 0008 R CALL B10

;--------------------------------------

0007 CB RET 0008 BEGIN ENDP

;--------------------------------------

0008 B10 PROC 0008 E8 000C R CALL C10

;--------------------------------------

000B C3 RET

49703100.doc - 41 - 作者:User

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@)