第一范文网 - 专业文章范例文档资料分享平台

汇编语言程序设计(合工大版)习题参考答案

来源:用户分享 时间:2025/7/6 21:38:06 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

repne scasb jz match nomatch:

lea dx,mess4 jmp exit match: lea dx,mess3

exit:

mov ah,09 int 21h

sub di,offset stok1 mov dx,di and dx,0fh add dl,30h mov ah,2 int 21h

ret main endp codesg ends

end main

5.8 编写程序,从键盘输入一个N位二进制数,统计1出现的次数。 code segment

assume cs:code

start: mov cx,9 ;N<10 mov dl,30H next: mov ah,1 int 21h cmp al,13 jz write cmp al,30h jb exit cmp al,31h ja exit sub al,30h add dl,al dec cx jnz next write:

push dx mov dl,10 mov ah,2 int 21h pop dx

mov ah,2 int 21h exit: mov ah,4ch int 21h code ends

end start

5.9 编写程序,从键盘输入一个字符串到BUFF,并按相反顺序显示输出。 datasg segment

mess1 db 13,10, 'input string:$' mess2 db 13,10,'$' st1 label byte max1 db 6 act1 db ?

stok1 db 6 dup(?)

datasg ends

codesg segment

assume cs:codesg, ds:datasg main proc far push ds sub ax,ax push ax

mov ax,datasg mov ds,ax lea dx,mess1 mov ah,09

int 21h lea dx,st1 mov ah,0ah

int 21h lea dx,mess2 mov ah,09

int 21h mov cl,act1 mov ch,0

mov bx, offset stok1 add bx, cx next: dec bx

mov dl, [bx] mov ah,2 int 21h

loop next ret main endp codesg ends

end main

5.10 编写程序,从键盘输入一个八位的二进制数,显示其十六进制数。 code segment

assume cs:code start:

mov cx,8 mov bl,0 next: mov ah,1 int 21h cmp al,30h jb exit cmp al,31h ja exit sub al,30h shl bl,1 add bl,al loop next mov cl,4 mov di,2 out1: rol bl,cl mov dl,bl and dl,0fh add dl,30h cmp dl,39h jle dig add dl,7 dig: mov ah,2 int 21h dec di cmp di,0 jnz out1 exit: mov ah,4ch int 21h code ends end start

5.11 编写程序,从键盘输入某个字符的ASCII码(作为起点)和个数N,显示输出这N个ASCII码和字符。

5.12 字数组ARRAY为有符号数,第一个单元为元素个数N,后面为N个元素,编写程序,求数组元素中的最大值,并把它放入MAX单元。 data segment

array dw 5,9,4,5,15,3 max dw ? data ends code segment

assume cs:code,ds:data start:

mov ax, data mov ds, ax mov cx, array lea bx, array+1 mov ax, [bx] mov max, ax k1: mov ax, [bx] cmp ax, max jl next mov max,ax next: add bx,2 loop k1 mov ah,4ch int 21h code ends end start

6.11 从键盘输入姓名和电话号码,建立通讯录,通讯录的最大容量为9条记录,程序结束时无须保留通讯录,但程序运行时要保留通讯录信息。程序的人机界面和顺序要求如下:

(1)提示信息INPUT NAME:(调用子程序INNAME录入姓名,序号自动产生) (2)提示信息INPUT TELEPHONE NUMBER:(调用子程序INTELE录入电话号码) (3)提示信息INPUT 序号:(调用子程序PRINT显示某人的姓名和电话号码,如果序号不存在,则提示信息 NO THIS NUMB )。

;telephone number list phone struc

serial db 20h

tname db 3 dup (20h)

tnumb db 11 dup (20h), '$' phone ends data segment num db 0

mess1 db 13,10, 'input name(3):$' mess2 db 13,10, 'phone number(11):$' mess3 db 13,10, 'serial number(1):$' mess4 db 13,10, 'no this number!$'

汇编语言程序设计(合工大版)习题参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8mues89ek39pugm7q9uc_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top