汇编语言 实验五 条件转移指令

一、实验目的:

1.8088指令:JZ,JNZ,JC,JNC,CMP,SHR。

2.程序:用字符搜索法确定字符串长度。

3.程序:16进制数化为ASCII码的一般方法。

二、实验准备

1.

(1) 编写实验任务要求的两个程序。

(2) 写出调试以上程序,即修改程序参数,检查结果的操作方法。

(3) 熟悉源程序汇编、连接命令的使用方法即要回答的内容。

2.验证以下程序

16进制数化ASCII码的一般方法(显示内存内容)

1)用A命令在100H处键入下列程序:

MOV   SI,0 
MOV   BL,10 
LOP:  MOV   DL,[SI] 
MOV    CL,4 
SHR    DL,CL 
CMP    DL,0A 
JC	J1 
ADD	DL,7 
J1:  ADD	DL,30 
MOV	AH,2 
INT	21 
MOV	DL,[SI] 
AND	DL,0F 
CMP	DL,0A 
JC	J2 
ADD	DL,7 
J2:  ADD	DL,30 
MOV	AH,2 
INT	21 
MOV	DL,20 
MOV	AH,2 
INT	21 
INC	SI 
DEC	BL 
JNZ	LOP 
INT	20 

2)用N,W命令将此程序用CC.COM文件名存入磁盘。

3)用Q命令退出DEBUG。

4)在DOS命令状态下直接运行CC.COM命令文件,应在屏幕上显示出内存从0000H开始的16个字节的内容,若有错误,用DEBUG检查之。

三、实验任务

1.自编程序:修改实验准备程序(二),使除了以16进制数形式显示内存内容外,还能在其右边显示该16进制码所对应的ASCII字符,07-0D的控制字符用’.'代替。

2. BUFX、BUFY和BUFZ是3个有符号的十六进制数,编写一个比较相等关系的程序:

1)如果这3个数都不相等,则显示0

2)如果这3个数中有两个数相等,则显示1

3)如果这3个数都相等,则显示2

四、实验步骤

1) 用EDIT或其它编辑软件,编写.ASM源程序,

2) 对其进行汇编及连接,产生.EXE文件。

3) 对.EXE文件进行调试运行。

a. 用DEBUG调试运行。

b. 键入不同的字符,分别进行调试。

c. 在MS-DOS下运行这两个.EXE文件。

五、实验报告要求:

1.先完成准备实验

2.务2要求画出流程图,给出程序清单,给出调试结果,并存盘

3.实验体会。

实验内容代码:

1、

DATA SEGMENT 
DATA ENDS
STACKS SEGMENT STACK
STACKS ENDS
CODE SEGMENT 'code'
   ASSUME CS:CODE,DS:DATA,SS:STACKS
START:
   MOV AX,DATA 
   MOV DS,AX
   MOV	SI,0H
   MOV	BL,10H 
LOP:MOV	DL,[SI]  
   MOV	CL,4H	
   SHR	DL,CL		
   CMP	DL,0AH	
   JC	J1		
   ADD	DL,7H	
J1: ADD	DL,30H	
   MOV	AH,2H	
   INT	21H
   MOV	DL,[SI]		
   AND	DL,0FH
   CMP	DL,0AH		
   JC	J2
   ADD	DL,7H
J2: ADD	DL,30H
   MOV	AH,2H
   INT	21H			
   MOV	DL,20H		
   MOV	AH,2H
   INT	21H
   MOV DL,[SI]		
   MOV DH,06H	
   CMP DH,[SI]
   JNC J3
   MOV DH,0eH
   CMP [SI], DH
   JNC J3
   MOV DL,2EH		
J3: MOV AH,2H		
   INT 21H
   MOV	DL,20H	
   MOV	AH,2H
   INT	21H
   INC	SI			
   DEC	BL			
   JNZ	LOP
   MOV ax,4C00H
   INT 21H
CODE ENDS
   END START

汇编语言 实验五 条件转移指令汇编语言 实验五 条件转移指令汇编语言 实验五 条件转移指令

2、

DATA SEGMENT 
DATA ENDS
STACKS SEGMENT STACK
STACKS ENDS
CODE SEGMENT 'code'
   ASSUME CS:CODE,DS:DATA,SS:STACKS
START:
   MOV AX,DATA
  	MOV DS,AX
   mov ah, 01h
   int 21h
   mov bh, al
   mov dl,20h
   mov ah,02h
   int 21h

   mov ah, 01h
   int 21h
   mov bl, al
   mov dl,20h
   mov ah,02h
   int 21h

   mov ah, 01h
   int 21h
   mov dh, al
   mov dl,0ah
   mov ah,02h
   int 21h
   		
          mov dl, 30h
          cmp bh,bl	
          jnz next1	
          inc dl		
next1:     cmp bh,dh 
          jnz next2	
          inc dl
next2:     cmp bl,dh
          jnz next3	
          inc dl	
next3:     cmp dl,33h	
          jb next4 	
          mov dl,32h	
next4:     mov ah,02h  
          int 21h
MOV ax,4C00H
INT 21H	
CODE ENDS
   END START

汇编语言 实验五 条件转移指令汇编语言 实验五 条件转移指令汇编语言 实验五 条件转移指令
汇编语言 实验五 条件转移指令

相关文章: