微机原理 常考实验 第(二)弹~

1,已知在AX,BX中放32位有符号的二进制数,求其绝对值送入CX,DX中,其中AX,CX放高位。

分析:就是 AX: BX双字的绝对值放到CX: DX的双字中

(1)先判断AX,BX是不是为正,为正直接绝对值给CX,DX

(2)假如AX,BX为负求绝对值

(3)负数求绝对值 就是对这个数求补指令NEG opr;0减opr操作数

(4)这是个双字,系统只有16位,先0-低四位有借位,0-高位时还要减去借位。

(5)求补指令NEG 求补就是取反加一 低四位取反加一可以用,高四位取反加一不能用,

一个双字负数绝对值是这四条指令

复制代码
    NOT DX  ;低位取反加一
    NOT CX
    ADD DX,1 ;低位取反加一
    ADC CX,0;高位加上进位位

2,在1的基础上又另一题:已知BUF单元中字是低位,BUF+2单元中字是高位,双字32位求补。将BUF缓冲区中的32位数据取绝对值存回原单元。

复制代码
    MOV AX,BUF+2
    CMP AX,0
    JNS L ;AX为正转L
    MOV BX,BUF
    NOT BX;低位取反
    ADD BX,1
    MOV BUF,BX
    NOT AX  ;高位取反
    ADC AX,0  ;考虑低位部分的进位
    MOV BUF+2,AX
  L:..  

3,判断16位字value正负,求绝对值

分析:16位是一个字,直接NEG求补就行

复制代码
    MOV AX,VALUE
    TEST AX,AX;是负数吗同时CF=0
    JNS L ;AX为正转L
    NEG AX ;求补求绝对值 
  L:...

4,

相关推荐
晓数1 小时前
【硬核干货】JetBrains AI Assistant 干货笔记
人工智能·笔记·jetbrains·ai assistant
我的golang之路果然有问题2 小时前
速成GO访问sql,个人笔记
经验分享·笔记·后端·sql·golang·go·database
lwewan2 小时前
26考研——存储系统(3)
c语言·笔记·考研
搞机小能手2 小时前
六个能够白嫖学习资料的网站
笔记·学习·分类
nongcunqq3 小时前
爬虫练习 js 逆向
笔记·爬虫
汐汐咯3 小时前
终端运行java出现???
笔记
无敌小茶5 小时前
Linux学习笔记之环境变量
linux·笔记
帅云毅5 小时前
Web3.0的认知补充(去中心化)
笔记·学习·web3·去中心化·区块链
豆豆5 小时前
day32 学习笔记
图像处理·笔记·opencv·学习·计算机视觉
nenchoumi31196 小时前
VLA 论文精读(十六)FP3: A 3D Foundation Policy for Robotic Manipulation
论文阅读·人工智能·笔记·学习·vln