合肥工业大学汇编程序设计实验报告完整代码 联系客服

发布时间 : 星期一 文章合肥工业大学汇编程序设计实验报告完整代码更新完毕开始阅读8b4e852cf524ccbff12184e4

; 4 : ; 5 : _asm mov ax,0088h;

mov

ax, 136

; 6 : _asm ; 7 : {

; 8 : ; 9 : ; 10 : ; 11 : } ; 12 :

; 13 : return 0; xor eax, eax

; 14 : } pop edi pop esi pop ebx add esp, 64

cmp ebp, esp call __chkesp mov esp, ebp

pop ebp

ret 0

_main ENDP _TEXT ENDS

; 00000088H

; 00000040H

END

五. 实验体会

通过本次试验使我了解了如何使用地址表和转移表,以及怎样通过堆栈(寄存器、内存)传送所有参数调用子程序。最后实践了C?Asm的转换过程,使我对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 x,y,z,min min macro x,y,z mov ax,x cmp ax,y

jl next ; jc 看的是cf 是当成无符号数比较的? mov ax,y next: cmp ax,z jl final mov ax,z final: nop endm

code segment assume cs:code start: min 4 -6 3 mov ax,4c00h int 21h code ends end start

2、挂接1CH中断,正计时60秒后退出。要求屏幕显示0-59的秒数。 ;addres equ 1ch data segment

pian dw ? duan dw ? string db 48 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax

begin: mov ax,351ch int 21h

mov pian,bx mov duan,es push ds

mov dx,offset myproc mov ax,seg myproc mov ds,ax mov ax,251ch int 21h pop ds mov cx,0 mov bx,0

next: cmp cx,1080; 60*18 jnz next

mov dx,pian mov ax,duan mov ds,ax mov ax,251ch int 21h mov ax,4c00h int 21h

myproc proc sti

inc cx inc bx cmp bx,18