合肥工业大学汇编实验报告 下载本文

内容发布更新时间 : 2024/12/23 13:58:36星期一 下面是文章的全部内容请认真阅读。

dec ch jnz again mov ah,4ch int 21h push ax push cx imul bx mov cx,dx mov bx,ax mov ax,x cwd add bx,ax adc cx,dx mov ax,y cwd sub bx,ax sbb cx,dx pop cx pop ax ret

P1 proc near

P1 endp Code ends

end start

四. 实验体会

在这一次的实验中的实验二的堆栈传递方式,让我很有体会,感觉和c语言中的函数相似度极高,通过自己的调试,进一步了解到了堆栈传递的细节,尤其是堆栈传递中的地址的变化,让自己体会深刻。

实验四 汇编语言高级编程专题

一. 实验目的

1、汇编语言宏程序设计;

2、 掌握中断服务子程序的编写。 3、 汇编语言与高级语言的混编。

二. 实验内容

1、编写一个宏,求三个数的最小数,原型为:MIN3 x,y,z,min 2、挂接1CH中断,正计时60秒后退出。要求屏幕显示0-59的秒数。 3、VC++中编写内联汇编,将字节数组的每个元素高低四位互换。 char dbyte[] = {0x34,0x45,0x56,0x67,0xaf};

三. 实验过程和程序 1.

MIN3 macro x,y,z,min

code segment

assume cs:code,ds:data

start: mov ax,data

mov ax,x cmp ax,y jl next0 mov ax,y jl down0 mov ax,z

mov min,ax endm x dw 13 y dw 15 z dw 16 min dw ?

next0: cmp ax,z

down0:

data segment

data ends

mov ds,ax

MIN3 x,y,z,min

mov bx,min mov ch,4 mov cl,4

rol bx,cl mov al,bl and al,0fh cmp al,0ah jl next

add al,37h ;\jmp down

add al,30h ;\mov dl,al

again:

next:

down:

mov ah,2 int 21h dec ch jnz again

mov ah,4ch int 21h end start

code ends