近期在整理大学本科阶段做过的实验课题发给大家仅供参考。一实验内容求某数据区内负数的个数。编程提示根据符号位判断是否为负数。事先应在数据区内预置十个数值。测试数据10个12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01H二实验流程图三实验程序源代码DATA SEGMENT ;数据段 SD DB 12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01H DATA ENDS ;--------------------------------------------------- CODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA; START: MOV AX,DATA MOV DS,AX MOV DI,OFFSET SD ;将SD的地址放入DI中 MOV BL,0 ;将计数器BL置0 MOV CX,10 ;设置循环次数 AGAIN: MOV AL,[DI] CMP AL,0 ;判断BL的最高位是否为1 JGE C1 ;否跳至C1 INC BL ;是计数器加一 C1: INC DI ;找下一个元素 LOOP AGAIN ;循环 MOV AL,BL AND AL,0FH ;取低四位 CMP AL,0AH ;判断 JB C2 ADD AL,07H C2: ADD AL,30H ;转化为相应数值的ASCII码 MOV DL,AL ;在屏幕上显示正数的个数 MOV AH,02H INT 21H MOV AX,4C00H ;返回DOS INT 21H CODE ENDS END START四实验结果
汇编语言实验二:求某数据区内负数的个数
近期在整理大学本科阶段做过的实验课题发给大家仅供参考。一实验内容求某数据区内负数的个数。编程提示根据符号位判断是否为负数。事先应在数据区内预置十个数值。测试数据10个12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01H二实验流程图三实验程序源代码DATA SEGMENT ;数据段 SD DB 12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01H DATA ENDS ;--------------------------------------------------- CODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA; START: MOV AX,DATA MOV DS,AX MOV DI,OFFSET SD ;将SD的地址放入DI中 MOV BL,0 ;将计数器BL置0 MOV CX,10 ;设置循环次数 AGAIN: MOV AL,[DI] CMP AL,0 ;判断BL的最高位是否为1 JGE C1 ;否跳至C1 INC BL ;是计数器加一 C1: INC DI ;找下一个元素 LOOP AGAIN ;循环 MOV AL,BL AND AL,0FH ;取低四位 CMP AL,0AH ;判断 JB C2 ADD AL,07H C2: ADD AL,30H ;转化为相应数值的ASCII码 MOV DL,AL ;在屏幕上显示正数的个数 MOV AH,02H INT 21H MOV AX,4C00H ;返回DOS INT 21H CODE ENDS END START四实验结果