微机汇编语言三道小题,求高手解答
1编写程序对在数据段BUF1地址起存放一串字符个数进行统计,串结束标志为-1,并将统计的结果放到CX中。2若在0500H单元有一个数x,把此数的前四位变反,后四位维持不变...
1
编写程序对在数据段BUF1地址起存放一串字符个数进行统计,串结束标志为-1,并将统计
的结果放到CX中。
2
若在0500H单元有一个数x,把此数的前四位变反,后四位维持不变,送回同一单元。
3
编写子程序。求内存中一无符号字节型数据序列的最大值和最小值。该无符号字节型数据序列的起始地址位于SI中,数据个数位于CX中。要求求得的最大值存放于AH中,最小值存放于AL中。主程序调用子程序实现上述功能。
注意:请用最基本的语句,不要网上能搜到的那个,满意会加分。 展开
编写程序对在数据段BUF1地址起存放一串字符个数进行统计,串结束标志为-1,并将统计
的结果放到CX中。
2
若在0500H单元有一个数x,把此数的前四位变反,后四位维持不变,送回同一单元。
3
编写子程序。求内存中一无符号字节型数据序列的最大值和最小值。该无符号字节型数据序列的起始地址位于SI中,数据个数位于CX中。要求求得的最大值存放于AH中,最小值存放于AL中。主程序调用子程序实现上述功能。
注意:请用最基本的语句,不要网上能搜到的那个,满意会加分。 展开
1个回答
展开全部
1.
assume cs:code, ds:data
data segment
BUF1 db 12,45,98,7,5,-3,6,-2,9,4,4,5,8,4,21,2,45,12,5,4,3,5,75,2,1,5,7,-1
data ends
code segment
start:
mov ax, data
mov ds, ax
mov es,ax
lea di, BUF1
mov cx, 65535
mov al,-1
cld
repne scasb ;但al-(di) == 0, 即al = (di)是跳出循环, 或者cx=0时, 跳出循环, 所以当(di)=-1时, 跳出循环
;如果(di)不等于-1,那么cx-1,继续循环。直到(di) = -1, 或cx = 0
mov ax, 65535
sub ax, cx ;现在cx的值是65535-字符串的长度, 那么65535-(65535-字符串的长度) = 字符串的长度
mov cx,ax
mov ax, 4c00h
int 21h
code ends
end start
2.
assume cs:code
code segment
start:
xor byte ptr ds:[0500H], 11110000b ;0500H单元有一个数
;异或有一个特点,就是任何位与1异或,取反,与0异或,不变
;所以高4位置1取反, 低4位置0不变
mov ax, 4c00h
int 21h
code ends
end start
3.
;编写子程序。求内存中一无符号字节型数据序列的最大值和最小值。
;该无符号字节型数据序列的起始地址位于SI中,
;数据个数位于CX中。要求求得的最大值存放于AH中,最小值存放于AL中。主程序调用子程序实现上述功能。
assume cs:code, ds:data
data segment
NUM db 12,45,0,98,12,255,45,12,36,88,54,12,36 ;最大值为255(FF), 最小值为0(0)
COUNT db $-NUM
data ends
code segment
start:
mov ax, data
mov ds,ax
mov cl, COUNT ;数据个数位于CX中
mov si, offset NUM ;该无符号字节型数据序列的起始地址位于SI中
mov al, [si]; ;假设最小值现在在al中
mov ah, al; ;假设最大值现在在al中
inc si
lp: cmp al, [si]
jb done ;如果al小于[di]的话,那么al还是最小值, 不需要改变
mov al, [si] ;否则[di]中就是最小值,那么将他赋值给al
done: cmp ah, [si]
ja done1 ;如果ah大于[di], 那么不需要改变, 还是最大值
mov ah,[si] ;否则[di]中就是最大值,那么将他赋值给al
done1: inc si
loop lp
mov ax,4c00h
int 21h
code ends
end start
百度不好排版,楼主凑合看吧
源代码文件中的代码是排好版的
PS:若有不明白的地方,可以追问
华芯测试
2024-09-01 广告
2024-09-01 广告
电学测试台是深圳市华芯测试科技有限公司的核心设备之一,它集成了高精度测量仪器与自动化控制系统,专为半导体芯片、电子元件及模块的电性能检测而设计。该测试台能够迅速、准确地完成电压、电流、电阻、电容及频率等关键参数的测试,确保产品质量符合行业标...
点击进入详情页
本回答由华芯测试提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询