发布时间 : 星期三 文章汇编语言复习题2009更新完毕开始阅读e014a8dad15abe23482f4d93
INC SI
;CX-1≠0时,继续循环 MOV SUM,DX ;CX=0,SUM←和DX MOV AH,4CH ;返回系统 INT 21H CODE ENDS
END BEGIN
3.
…
main proc far … startup: … push ds sub ax,ax push ax
mov ax,offset array push ax mov ax,count push ax call checksumc mov result,al ret main endp
checksumc proc near
push bp
mov bp,sp ;利用BP间接寻址存取参数 push bx push cx mov bx,[bp+6] mov cx,[bp+4] xor al,al
add al,[bx]
inc bx loop sumc pop cx pop bx
;SS:[BP+6]指向偏移地址 ;SS:[BP+6]指向元素个数
sumc:
第 5 页 共 5 页
pop bp
ret 根据程序在此处填写适当的数字
checksumc endp
画出该程序堆栈最满时的状态:
五、编制程序(段)题
1、定义宏指令MOVE,使它能将N个字符从一个字符区传送到另一个字符区。(其中字符个数N以及两个字符区的首址为变元)
2、请编写一个简单的信息检索系统。在数据区里有十个不同的信息,编号为0~9,每个信息包括5个字符。现要求用子程序结构编写一个程序:从键盘接收0~9之间的一个编号,然后在屏幕上显示出相应的编号的信息内容。
提示:显示一个字符(INT 21H 的02号功能)
将显示一个信息编写成独立功能的子程序DISPLAY 10条信息分别为:1. ‘CHINA’
2. ‘MICRO’ 3. ‘INDEX’ 4. ‘FOCUS’ 5. ‘PAPER’ 6. ‘BASIC’ 7. ‘TOPIC’ 8. ‘WOULD’ 9. ‘WRITE’ 10. ‘MSDOS’
出错时显示 ‘ERR
第 6 页 共 5 页