汇编实验二
程序员文章站
2024-03-23 22:37:04
...
任务1-编制第一个汇编程序
(1)将下面的程序保存为p1.asm,将其生成可执行文件p1.exe。
assume cs:code
code segment
mov ax,0123H
add ax,ax
mov ax,4c00h
int 21h
code ends
end
(2)在Debug中单步执行这个程序
(写编辑、编译、连接、运行各步骤的命令。贴图说明实验过程)
任务2-栈的操作
- 将10000H~1000FH这段空间当作栈,初始状态栈是空的(据此设置SS、SP);
- 设置AX=001AH,BX=001BH;
- 利用栈,交换AX和BX中的数据。
(下面列出源代码,并截图说明运行的结果)。
assume cs:code code segment mov ax,1000h mov ss,ax mov sp,000fh mov ax,001ah mov bx,001bh push ax push bx pop ax pop bx mov ax,4c00h int 21h code ends end
任务3-循环程序设计(1)
编程序计算2^10,将最后结果保存在dx中
(下面列出源代码,并截图说明运行的结果)。
assume cs:code code segment mov dx,2 mov cx,9 s: add dx,dx loop s mov ax,4c00h int 21h code ends end
任务4-循环程序设计(2)
编程序,用loop指令计算从1到100的所有整数相加的和,运算结果请保存到寄存器DX中。
(下面列出源代码,并截图说明运行的结果)。
assume cs:code code segment mov dx,0 mov ax,1 mov cx,100 s: add dx,ax inc ax loop s mov ax,4c00h int 21h code ends end
任务5-用[bx]和loop联合访问连续的内存单元
编程序,向内存0:200H到0:23FH依次传送数据0~63(3FH),即0:200H中为0,0:201中为1,……依此类推
(下面列出源代码,并截图说明运行的结果)。
assume cs:code code segment mov ax,0h mov ds,ax mov al,0 mov cx,64 mov bx,200h s: mov [bx],al inc bx inc al loop s mov ax,4c00h int 21h code ends end