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

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,

相关推荐
箓维3 小时前
TCP Socket的进阶实现
网络·笔记·tcp/ip
二哈赛车手3 小时前
新人笔记---hermes定时功能设计,具体讲解以及可优化点
java·人工智能·笔记·spring·ai·typescript
星恒随风4 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
智学AI6 小时前
AI博主写作素材管理方法分享:资料归集、笔记关联与文档归档
人工智能·笔记
叼烟扛炮6 小时前
[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战
服务器·开发语言·网络·笔记·学习·langchain
weixin_448119946 小时前
Datawhale Jev Cookbook 202610 笔记5
笔记
一木 之林7 小时前
Dify学习笔记 04 · 检索底座:Embedding、Rerank与向量数据库(第46-54集)
笔记·学习·embedding·dify
ljt27249606617 小时前
Python笔记(十一)--Numpy(一)
笔记·python·numpy
芯思路7 小时前
STM32开发学习笔记之十【AI部署】
笔记·stm32·学习
江屿风8 小时前
【Plain Language Large Model】【从浏览器到全栈:一课精通Node.js三剑客】流食般投喂
笔记·前端框架·npm·node.js·js·npx