早教吧 育儿知识 作业答案 考试题库 百科 知识分享

小弟最近要考微机,有些题目不会做,希望有会做的帮忙做一下,能详细的尽量详细啊在下谢谢啦1.编写一段程序,完成符号函数(-128

题目详情
小弟最近要考微机,有些题目不会做,希望有会做的帮忙做一下,能详细的尽量详细啊 在下谢谢啦
1.编写一段程序,完成符号函数(-128<=x<=127):
y=1 (x>0) y=0(x=0) y=-1(x<0)
假设x的值存放在DATA1中,y的值存放在DATA2中.
2.BUFFER字节数组中存有一组无序列字节数数据,列的长度表示在BUFFER的第一个字节中,KEY中为一个字节数据,编写程序在BUFFER中查找有无KEY,若有就结束,若没有就将KEY加到BUFFER中去,并修改列的长度.
3.利用查询方式编写一个程序段,从端口320h读入50个字节数据存入以ARRAY开始的50个连续的存储单元中,设查询状态口的地址为330h,查询D6为1时,为准备好.
▼优质解答
答案和解析
1)DATA SEGMENT
y1 DB 1
y2 DB 0
y3 DB -1
y DB ;(此处存放判定结果)
x db ;(此处设定要用的x,代换调“?”即可)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AL,x
SAL AL,1;算术左移指令,左移1位将最高位符号标志位移进符号位cf
JNC Y1;CF是否等于1,不等于1,说明是正数
MOV AL,x
CMP AL,0;重新赋值,判断是否等于0
JC Y2;等于则跳转,否则
SAL AL,1
JC Y3;CF是否等于1,等于1,说明是负数
JMP DONE
Y1:MOV AH,y1
MOV y,AH
JMP DONE
Y2:MOV AH,y2
MOV y,AH
JMP DONE
Y3:MOV AH,y3
MOV y,AH
JMP DONE
DONE:MOV AH,4CH
INT 21H
CODE ENDS
END START
2)LEA SI,BUFFER
MOV CL,
INC SI
XOR CH,CH
NEXT:MOV AL,
CMP AL,KEY
JZ DONE
INC SI
LOOP NEXT
MOV AL,KEY
MOV ,AL
INC BYTE PTR BUFFER
DONE:……….
3)LEA BX,ARRAY
MOV CX,100
LPO:MOV DX,310H
IN AL,8OH
JZ LPO
MOV DX,32OH
IN AL,DX
MOV [BX],AL
INC BX
LOOP LPO
不胜感激!