汇编实验9
Posted agent33
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编实验9相关的知识,希望对你有一定的参考价值。
1. 补全程序 t1.asm,完成在屏幕上输出内存单元中的十进制两位数
; 在屏幕上输出内存单元中的十进制两位数
assume cs:code, ds:data
data segment
db 12
db 0,0 ; 前一个字节用于保存商,后一个字节用于保存余数
data ends
code segment
start:
mov ax,data
mov ds,ax ; 补全指令,使得ds <-- data段地址
mov ah,0
mov al,ds:[0] ; ax <-- data段字节单元的被除数12
mov bl,10
div bl
mov ds:[0],al ; 补全代码,让商保存到data段注释中指定的单元
mov ds:[1],ah ; 补全代码,让余数保存到data段注释中指定的单元
mov ah,2
mov dl,ds:[0] ; 补全代码,使得dl <-- data段中保存的商的字节单元数值
add dl,30h ; 补全代码,使得dl中的数值转换为数字字符
int 21h
mov ah,2
mov dl,ds:[1] ; 补全代码,使得dl <-- data段中保存余数的字节单元数值
mov dl,30h ; 补全代码,使得dl中的数值转换为数字字符
int 21h
mov ax,4c00h
int 21h
code ends
end start
运行结果
2. 补全程序 t2.asm,完成在屏幕上输出 data 段定义的 5 个十进制两位数,数据和数据
之间以空格间隔。
assume cs:code, ds:data
data segment
db 12,35,96,55,67
data ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0
mov cx,5
s: mov ah,0
mov al,ds:[bx]
mov dl,10
div dl
mov dl,al
mov dh,ah
mov ah,2
add dl,30h
int 21h
mov ah,2
mov dl,dh
add dl,30h
int 21h
mov ah,2
mov dl,0
int 21h
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
运行结果
- 教材实验 9(P187)
assume ds:data, cs:code
data segment
db ‘welcome to masm!‘
db 2H,24H,71H
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800H
mov es,ax
mov bx,0
mov bp,16
mov di,071ch
mov cx,3
s: mov bx,cx
mov si,0
mov cx,16
s0: mov ax,0
mov al,[si]
mov ah,[bp]
mov es:[di],ax
inc si
add di,2h
loop s0
add di,80h
mov cx,bx
inc bp
loop s
mov ax,4c00h
int 21h
code ends
end start
以上是关于汇编实验9的主要内容,如果未能解决你的问题,请参考以下文章