汇编语言程序设计实验——网络*** *** 第 11 页
要注保存和复原上一次循环的断点信息,在保留和复原时可以使用堆栈进行处理。
自认为可以理解为一根盘绕了确定的圈数的绳子,又进入的头,又出去的尾。
b〉条件控制循环
一般使用JMP指令使程序跳到这一段的开头,用CMP在循环中进行比较判断,再根据程序要求,选择适当的转移条件,跳出循环。
自认为可以理解为一圆形的导轨,并在导轨上设置一个初口,在符合条件时就在导轨上脱离,否则,将会在导轨上一直的转下去。
3〉再循环中可以同时使用两者,当即已知循环的次数限制范围,但又要求在符合条件时结束循环是,就要同时使用两者。
六、子程序的使用大大的简化了程序设计的思路,在完成一个程序时,可以简单的把一个程序划分为几个完整的几部分,使每一部分独立的完成特定的一部分和计算任务。 子程序的使用还可以大大的减小程序的体积,在一程序中,如果需要多次反复的是用某一段代码的话,就可以将这段代码设定为子程序,以后想使用时,只要一CALL再一RET就OK啦。
我认为使用子程序的关键在于明白子程序的机理,明白子程序是如何保存和恢复断点的信息的,只有真正的理解了这一点才能更好地利用好子程序。
子程序的参数传递的方式有很多种,但是在堆栈段传递参数时,应该注意使用带立即数的返回的方式,在利用寄存器BP访问堆栈段来取得参数。
汇编语言程序设计实验
网络*** ***
实验三 算术运算与代码转换程序设计
一、实验目的
1)掌握算术运算程序的设计方法。 2)掌握代码转换程序的设计方法。 3)进一步掌握各种程序结构。
4)熟练掌握和使用用DEBUG调试程序。
汇编语言程序设计实验——网络*** *** 第 12 页
二、实验内容
1)编制两个多字节整数加法和减法程序,并将结果按十六进制形式显示在屏幕上。
2)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出。
3)编写程序把从键盘输入的以回车为结束符的字符串中的空格去掉并按相反的顺序输出。
三 实验代码、 实验1
DATA SEGMENT
NUM1 DB 22H,33H,44H,55H,66H,77H NUM1L DB 6H
NUM2 DB 22H,22H,22H,22H NUM2L DB 4H
OUTCOME1 DB 10H DUP(0) OUTCOME2 DB 10H DUP(0) N DB 0H DATA ENDS
STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX MOV CH,0
MOV SI,OFFSET NUM1 MOV DI,OFFSET NUM2 MOV AH,NUM1L MOV AL,NUM2L CMP AH,AL JAE CHA XCHG SI,DI XCHG AH,AL CHA:SUB AH,AL MOV CL,AL CLC
MOV BX,OFFSET OUTCOME1
汇编语言程序设计实验——网络*** *** 第 13 页
LOP1:MOV AL,[DI] PUSH CX MOV CL,[SI] ADC CL,AL MOV [BX],CL INC BX INC SI INC DI POP CX LOOP LOP1 MOV CL,AH JCXZ LOP3 LOP2:PUSH CX
MOV CL, BYTE PTR [SI] ADC CL,0 MOV [BX],CL POP CX INC BX INC SI LOOP LOP2 LOP3:MOV CH,0
MOV SI,OFFSET NUM1 MOV DI,OFFSET NUM2 MOV AH,NUM1L MOV AL,NUM2L CMP AH,AL JAE CHA1 XCHG SI,DI XCHG AH,AL
CHA1:SUB AH,AL MOV CL,AL CLC
MOV BX,OFFSET OUTCOME2 LOP11:MOV AL,[DI] PUSH CX MOV CL,[SI] SBB CL,AL MOV [BX],CL INC BX INC SI INC DI POP CX LOOP LOP11 MOV CL,AH
汇编语言程序设计实验——网络*** *** 第 14 页
JCXZ LOP7 LOP21:PUSH CX
MOV CL, BYTE PTR [SI] SBB CL,0 MOV [BX],CL POP CX INC BX INC SI LOOP LOP21
LOP7:MOV DI,OFFSET OUTCOME1 ADD DI,10H MOV CX,11H
LOP4: MOV DL,[DI] DEC DI CMP N,0H JNE LOP5 CMP DL,0H JE LOP9
LOP5:PUSH DX PUSH CX MOV CL,4H SHR DL,CL POP CX CMP DL,9H JBE LOP6 ADD DL,7H
LOP6:ADD DL,30H MOV AH,2 INT 21H MOV N,1H POP DX AND DX,0FH CMP DL,9H JBE LOP8 ADD DL,7H
LOP8:ADD DL,30H MOV AH,2 INT 21H MOV DL,'H' MOV AH,2 INT 21H
LOP9:LOOP LOP4 MOV N,0
MOV DI,OFFSET OUTCOME2
汇编语言程序设计实验——网络*** *** 第 15 页
ADD DI,10H MOV CX,11H
LOP14: MOV DL,[DI] DEC DI CMP N,0H JNE LOP15 CMP DL,0H JE LOP19
LOP15:PUSH DX PUSH CX MOV CL,4H SHR DL,CL POP CX CMP DL,9H JBE LOP16 ADD DL,7H
LOP16:ADD DL,30H MOV AH,2 INT 21H MOV N,1H POP DX AND DX,0FH CMP DL,9H JBE LOP18 ADD DL,7H
LOP18:ADD DL,30H MOV AH,2 INT 21H MOV DL,'H' MOV AH,2 INT 21H
LOP19:LOOP LOP14 MOV AH,4CH INT 21H CODE ENDS END START
实验2
DATA SEGMENT
TISHI1 DB 'Please enter the first number:','$' TISHI2 DB 'Please enter the second number:','$' JIA DB '+','$' JIAN DB '-','$' CHENG DB '*','$'
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库河北工业大学汇编语言程序设计实验(3)在线全文阅读。
相关推荐: