实验2 汇编源程序编写与汇编、调试
1.实验任务1
- ex1.asm的源代码:
;ex1.asm
assume cs:code
code segment
mov ax, 0b810h
mov ds, ax
mov byte ptr ds:[0], 1
mov byte ptr ds:[1], 1
mov byte ptr ds:[2], 2
mov byte ptr ds:[3], 2
mov byte ptr ds:[4], 3
mov byte ptr ds:[5], 3
mov byte ptr ds:[6], 4
mov byte ptr ds:[7], 4
mov ah, 4ch
int 21h
code ends
end
- 汇编、链接的命令及运行结果


- 查看psp命令

- 使用g命令

- 使用u命令反汇编

- 实验任务2
- ex2.asm的源代码
; ex2.asm
assume cs:code
code segment
mov ax, 0b810h
mov ds, ax
mov bx, 0
mov ax, 101H
mov cx, 4
s: mov [bx], ax
add bx, 2
add ax, 101H
loop s
mov ah, 4ch
int 21h
code ends
end
- 汇编、链接命令及运行结果


- 使用u命令反汇编
![]()
-
debug截图


- 它们实现的是相同得功能和效果。编写ex1时将每个数逐次移进内存,编写ex2时使用了loop循环的方式。
- 实验任务3
- 源代码
;ex3.asm
assume cs:code
code segment
mov ax, 0b800h
mov ds, ax
mov bx, 07b8h
mov cx, 16
s: mov [bx], 0437h
add bx, 2
loop s
mov ah, 4ch
int 21h
code ends
end
- 运行结果截图
![]()
- 0239h
![]()
0437h
- 根据显示的结果,高位字节存放的是图像的形状(在这一个例子中为某个数字),低位存放的是图像的颜色信息。
- 实验任务4
- 源代码:
-
assume cs:code
code segment
mov ax, 0
mov ds, ax
mov bx, 200h
mov al, 0h
mov cx, 40h
s: mov [bx], ax
add ax, 1
add bx, 1
loop s
mov ah, 4ch
int 21h
code ends
end - 调试过程
![]()
- 结果,根据截图显示,确认将0-3F送入指定内存区域
![]()
- 试验任务5
- 源代码:
-
assume cs:code
code segment
mov ax,cs
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,17h
s: mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end - debug截图
![]()
- 查看内存单元
反汇编证明已经将代码复制到指定内存
![]()







浙公网安备 33010602011771号