汇编语言课后习题答案 - - - 郑晓薇(9)

2019-08-31 13:34

cursor 12,30 ;置显示光标 ;显示提示 mov ah,9

mov dx,offset mess1 int 21h ;输入串 mov al,0 mov ah,10

mov dx,offset mess2 int 21h ;统计 mov cx,0

mov cl,mess2+1 ;输入的个数

mov bx,2 ;从第2个单元存放键入的字母 let1:

mov al,mess2[bx] test al,20h ;区分大小写 jz let2 ;为0,即大写转 inc xiaoxie ;小写加1 jmp let3 let2:

inc daxie ;大写加1 let3: inc bx loop let1

windows 8,30,15,60,27h ;窗口内上卷 cursor 14,30 ;在16行30列显示 add xiaoxie,30h

displ xiaoxie ;显示小写个数

windows 8,30,15,60,27h ;窗口内上卷 add daxie,30h

displ daxie ;显示大写个数 out1: mov ah,4ch int 21h end start

37 编写对键盘输入一段英文的操作计时的程序。

查看正确答案 程序如下: include 9-4.mac .model small .data

letter1 db 'Time start= ','$' letter2 db 'Time end = ','$' letter3 db 'Time total= ','$' input db 100,102 dup(?) hour db ? minutes db ? seconds db ? persec db ? cont db 0 .code start:

mov ax,@data mov ds,ax clearsc ;清屏 cursor 2,50 ;置光标 mov ah,9

mov dx,offset letter1 ;显示串1 int 21h sss:

;读时间并显示

mov ah,2ch ;CH=小时,CL=分,DH=秒,DL=百分秒 int 21h mov bx,0 mov bl,ch

call disp_2_10 ;显示小时 displ ':' ;显示: mov bx,0 mov bl,cl

call disp_2_10 ;分 displ ':' ;显示: mov bx,0 mov bl,dh

call disp_2_10 ;秒 displ ':' ;显示: mov bx,0 mov bl,dl

call disp_2_10 ;百分秒 sub ch,hour ;计算时间差 sub cl,minutes sub dh,seconds sub dl,persec

mov hour,ch ;保存时间差 mov minutes,cl mov seconds,dh mov persec,dl inc cont

cmp cont,2 ;显示2次时间 jz out1

cursor 7,10 ;置输入光标 mov dx,offset input ;键盘输入 mov ah,10 int 21h

cursor 3,50 ;置光标 ;显示串2 mov ah,9

mov dx,offset letter2 int 21h jmp sss out1:

cursor 4,50 ;置光标 mov ah,9

mov dx,offset letter3 ;显示串3 int 21h ;显示时间差 mov cx,3

mov si,offset hour mov bx,0 www:

mov bl,[si] ;取出时、分、秒

call disp_2_10 ;3次调用 displ ':' ;显示: inc si loop www mov ah,4ch int 21h

;子程序。二-十进制数转换。bx值用十进制显示。 disp_2_10 proc store_ss ;保护现场 mov ax,bx ;bx传参 mov cx,0

mov bx,10 ;将ax变为十进制数 let1: mov dx,0

inc cx ;统计余数个数 idiv bx

push dx ;保存余数 cmp ax,0 jnz let1 let2: ;显示结果 pop ax ;将余数弹入ax add ax,0030h ;调整为ascii码 mov dl,al mov ah,2 int 21h loop let2

restore_ss ;恢复现场 ret

disp_2_10 endp end start

38 编写读取时钟计数器的值,经过变换产生百位以内随机数的程序。 查看正确答案

程序如下: include 9-4.mac .model small

.data

letter1 db 'Time start= ','$' letter2 db 'Time end = ','$' letter3 db 'Time total= ','$' input db 100,102 dup(?) hour db ? minutes db ? seconds db ? persec db ? cont db 0 .code

start: mov ax,@data mov ds,ax clearsc ;清屏 cursor 2,50 ;置光标 mov ah,9

mov dx,offset letter1 ;显示串1 int 21h

sss: ;读时间并显示

mov ah,2ch ;CH=小时,CL=分,DH=秒,DL=百分秒 int 21h mov bx,0 mov bl,ch

call disp_2_10 ;显示小时 displ ':' ;显示: mov bx,0 mov bl,cl

call disp_2_10 ;分 displ ':' ;显示: mov bx,0 mov bl,dh

call disp_2_10 ;秒 displ ':' ;显示: mov bx,0 mov bl,dl

call disp_2_10 ;百分秒 sub ch,hour ;计算时间差


汇编语言课后习题答案 - - - 郑晓薇(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016-321垫忠高速公路谭家寨隧道左洞病害整治工程交通组织方案(

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: