汇编语言 加急 回答出来有加分

来源:百度知道 编辑:UC知道 时间:2024/06/07 11:19:36
1、编写完整的汇编语言源程序
在内存的数据段中存放了10个8位带符号数 10H、FEH、00H、ABH、78H、99H、12H、30H、00H、46H,其首地址为TABLE,试统计其中正数、负数和零的个数,并分别将数据存入到M1、M2、M3单元中

2、数据段BUF区域中,存放着200个字节数据,将它们移到TAB区域
(1)用传送指令编程
(2)用字符串操作指令编程
ZF=1为0(JZ/JE) SF=1为负9(JS ) SF=0为正(JNS)括号里面的是助记符号。一般是正数、负数由D7或D15(16位运算)来判断:
D7=0为正数,即数据,小于80H
D7=1为负数,即数据,大于或者=80H
原码,增码不管他!你能做出来就可以了!我要的是完整地编出来!谢谢!!

第二题
源,目标区没有重叠
MOV AX,SEG BUF
MOV DS,AX
MOV AX,SEG TAB
MOV ES,AX
LEA SI,BUF
LEA DI,TAB
MOV CX,200
CLD
REP MOVSW
源,目标有重叠
MOV CX,200
MOV AX,SEG BUF
MOV DS,AX
MOV AX,SEG TAB
MOV ES,AX
LEA SI,BUF
ADD SI,CX
LEA DI,TAB
ADD DI,CX
STD
REP MOVSW
第一题
DATA SEGMENT
TABLE DB 10H,FEH,00H,ABH,78H,99H,12H,30H,00H,46H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS,DATA
START:MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET TABLE
MOV CX,10
MOV DL,0 ;0的个数
MOV DH,0 ;负数个数
MOV AH,0 ;正数个数
AGAIN:MOV AL,[BX]
CMP AL,0
JZ JISHU0 ;等于0转到统计0
SHL AL,1
JC JISHU1 ;(C)=1转到统计负数
INC AH ;正数统计+1
INC BX
LOOP AGAIN
AJMP END1
JISHU1:INC DH
INC BX
LOOP AGAIN
AJMP END1
JISHU0:INC DL