第六章nbsp子程序结构.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 子程序结构 6、写一段子程序SKIPLINES,完成输出空行的功能。空行的行数在AX寄存器中。 答案: SKIPLINES PROC NEAR PUSH CX PUSH DX MOV CX,AX NEXT: MOV AH,2 MOV DL,0AH INT 21H MOV AH,2 MOV DL,0DH INT 21H LOOP NEXT POP DX POP CX RET SKIPLINES ENDP 7、设有10个学生的成绩分别是76,69,84,90,73,88,99,63,100和80分。试编制一个子程序统计60—69分,70—79分,80—89分,90-99分和100分的人数并分别存放到S6,S7,S8,S9和S10单元中。 答案: dseg segment num dw 76,69,84,90,73,88,99,63,100,80 n dw 10 s6 dw 0 s7 dw 0 s8 dw 0 s9 dw 0 s10 dw 0 dseg ends code segment main proc far assume cs:code, ds:dseg start: push ds sub ax, ax push ax mov ax, dseg mov ds, ax call sub1 ret main endp sub1 proc near push ax push bx push cx push si mov si, 0 mov cx, n next: mov ax, num[si] mov bx, 10 div bl mov bl, al cbw sub bx, 6 sal bx, 1 inc s6[bx] add si,2 loop next pop si pop cx pop bx pop ax ret sub1 endp code ends end start 8、编写一个有主程序和子程序结构的程序模块,子程序的参数是一个N字节数组的首地址TABLE,数N及字符CHAR。要求在N字节数组中查找字符CHAR,并记录该字符的出现次数。主程序则要求从键盘接收一串字符以建立字节数组TABLE,并逐个显示从键盘输入的每个字符CHAR以及它在TABLE数组中出现的次数。(为简化起见,假设出现次数≤15,可以用十六进制形式把它显示出来 。 答案: data segment maxlen db 40 n db ? table db 40 dup (?) char db a ; 查找字符’a’ even addr dw 3 dup (?) data ends code segment assume cs:code, ds:data main proc far start: push ds mov ax, 0 push ax mov ax, data mov ds, ax lea dx, maxlen mov ah, 0ah int 21h ; 从键盘接收字符串 mov addr, offset table mov addr+2, offset n mov addr+4, offset char mov bx, offset addr ; 通过地址表传送变量地址 call count ; 计算CHAR的出现次数 call display ; 显示 ret main endp count proc near ; count子程序 push si push di push ax push cx mov di, [bx] mov si, [bx+2] mov cl, byte ptr[si] mov ch, 0 mov si, [bx+4] mov al, byte ptr[si] mov bx, 0 again: cmp al, byte ptr[di] jne l1 inc bx l1: inc di loop again pop cx pop ax pop di pop si ret count endp display proc near ; display子程序 call crlf ; 显示回车和换行 mov dl, char mov ah, 2 int 21h mov dl, 20h mov ah, 2 int 21h mov al, bl and al, 0fh add al, 30h cmp al, 3ah jl print add al, 7 pr

您可能关注的文档

文档评论(0)

asd3366 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档