实验四---条件转移指令
实验四条件转移指令
实验目的:
通过实验掌握下列知识:
1、8086指令:JZ,JNZ,JC,JNC,CMP,SHR。
3、程序:16进制数化为ASCII码的一般方法。实验内容及步骤: 海洋线虫一、用字符搜索法确定字符串长度:
1、用A命令在100H开始的内存处键入下列程序:
JMP START ;无条件调至Start
偏移地址为102 DB 'This is the program to measure' ;定义一个字符串长度为30
企业家天地
DB 'the length of a string!$' ;定义字符串,长度为23 不算字符串结束符$
START: MOV BX,102 ;内容为102赋给bx MOV AL,24 ;24赋给al
XOR CL,CL ;cl清零
LOP: CMP AL,[BX] ;地址[0102]的内容
和24表示的字符$比较大小
侯永庭 上海
JZ EXIT ;遇到$,调至exit,程序结束
INC BX ;bx自增1
INC CL ;cl自增1
JMP LOP ;无条件转移至lop EXIT: INT 3
2、用G命令运行此程序,并检查CL的统计长度是否与你自己统计的实际长度是否一样?
二、16进制数化ASCII码的一般方法(显示内存
内容)
1、用A命令在100H处键入下列程序:
MOV SI,0 ;将内容为0的十六进制数赋给si
MOV BL,10 ;将内容为10的十六进制数赋给bl
LOP: MOV DL,[SI] ;将地址为[0]单元的内容赋给dl
MOV CL,4 ;将4赋给cl
SHR DL,CL ;dl的内容逻辑右移4次,最低位进入cf
道州论坛
CMP DL,0A ;dl的内容和0a 比较大小
JC J1 ;判断有无进位,有了转向j1私语者
ADD DL,7 ;无进位,将7和dl的内容相加
J1: ADD DL,30 ;将30和dl的内容相加
MOV AH,2 ;设置功能号:2赋给ah
中国公路学报INT 21 ;dos功能调用:显示dl寄存器的内容
MOV DL,[SI] ;将[0]的内容赋给dl
AND DL,0F ;dl的内容和0f相加
CMP DL,0A ;dl的内容和0a比较大小
JC J2 ;判断有无进位,有了转向j2
ADD DL,7 ;无进位,将dl的内容和7相加放入dl中
J2: ADD DL,30 ;有进位,将dl 的内容和30相加放入dl中
MOV AH,2 ;设置功能号:2赋给ah
INT 21 ;dos功能调用:显示dl寄存器的内容
MOV DL,20 ;将20赋给dl 输入一个空格字符
MOV AH,2 ;设置功能号:2赋给ah