汇编语言典型例题详解(二进制到十进制转换(汇编语言)我看不明白)

:暂无数据 2026-09-18 00:50:01 :0

汇编语言典型例题详解(二进制到十进制转换(汇编语言)我看不明白)

大家好,汇编语言典型例题详解相信很多的网友都不是很明白,包括二进制到十进制转换(汇编语言)我看不明白也是一样,不过没有关系,接下来就来为大家分享关于汇编语言典型例题详解和二进制到十进制转换(汇编语言)我看不明白的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

二进制到十进制转换(汇编语言)我看不明白

1-MOV DX,0
2-MOV BX,10 ;除以10的原因:例如假设AX中的二进制数=十进制数1234
--------------那么 1234/10 得余数4(即得到个位数)
--------------这个时候即 余数=原来个位数 这是一个关键
--------------因下面6-对应这句 123/10 会得到余数=3
--------------即余数=原来的十位数
3-DIV BX ;(32位/16位(看DIV的规定))商由AX保存 余数由DX保存
--------------即现在DX=0005h
4-MOV CX,0304H ; ch=03h(用于循环),cl=04h(用于循环移动)
5-ROR DX,CL ; ror为循环右移指令(见后面) 循环右移4位的原因:
-------------- (1)用4位二进制数表示1位16进制数
-------------- (2)循环右移的是保护所得到的余数,即保护个位
6-L1:DIV BL ;商/10 即123/10 等到11-对应指令跳转到这里时
-----------------会变成12/10 等等
-----------------DIV BL(16位/8位)后新的余数被保存到AH 商保存到AL
7-OR DL,AH ;注意OR在这里的用法:为了保护完整6-所得的余数
-----------------其实这时dl=0000
-----------------如果用and的话 会将余数(四位二进制数)中的1抹掉
8-ROR DX,CL ;对应5-,保护剩下的十位,百位等
9-MOV AH,0 ;清0 因为下次循环是用商/bl
---------------而商(16位/8位)是仅仅保存在AL中
10-DEC CH ;ch=ch-1 对应上面 用于控制循环次数
11-JNZ L1 ;循环跳转
--------------循环里共执行了3次ror dx,cl
--------------再加上循环前的5-,所以共执行了4次ror dx,4
--------------即是说原来DX结构 ddddccccbbbbaaaa
--------------执行5-后变成 aaaaddddccccbbbb
--------------第一次执行8- bbbbaaaaddddcccc
--------------第三次执行8-后恢复ddddccccbbbbaaaa结构
--------------而且aaaa=个位 bbbb=十位 等等
--------------问题出现了: 呵呵 照这样推理 dddd=千位
--------------那么万位保存在哪里呢
--------------偶试验的结果是保存到了AL(AX)中
RET ;结束返回
-------------------------------
-------------------------------
左移1位相当*2: 是shl指令
例如:
mvo al,6
shl al,1
结果: al=0c
-------------------------------
右移1位相当/2: 是shr指令
例如:
mov al,6
shr al,1
结果:
al=3
------------------------------
指令ror: 循环右移
例如:
mov al,10011100
ror al,1
结果: al=01001110
------------------------------
指令rol: 循环左移
例如:
mov al,10011100
ror al,1
结果: al=00111001
------------------------------

我是真的看不懂这个汇编语言的例题,帮帮忙解释下

汇编语言要弄懂寄存器名称
其次要弄懂每一条指令是什么意思,特别是通用符号
如 dir 表示内部RAM地址
Ri表示可以是R0或R1
@Ri表示 以 R0或R1的值作为地址进行寻址
Rn可以是R0-R7
#data表示一个数 要和 dir 区别开来
MOV A,#20H;把20H这个数送入累加器A,A 的内容当然是20H了
MOV A,50H ;;把地址为50H存储单元的数送入累加器A,如果50H存储单元的数是30H,A 的内容当然是30H了
MOV A,R0;把R0中的数送入A中 如果R0是60H,A也变成60H
MOV A,@R0;把R0所指的存储单元中的数送入A中,如果R0是60H,就是将60H单元的数放入A中,而不是将60H放入A中

汇编语言:如何判断乘除运算中溢出的问题

由 80x86 CPU,执行乘法指令,是不会溢出的。

虽然有时会有 OF = 1,但是,乘积还是完全正确的。

但是,执行除法指令,却有可能出错。

典型的,就是除数为零时,必然会出现:Divide  overflow。

此外,当被除数的高位,大于等于除数时,也会发生“溢出”。

较好的方法是:编写一个“不会溢出”的除法程序。

方法思路如下:

在图中,

被除数是:1A2B3C4DH,有 32 位数。

除数是:BL,仅有 8 位数。

商,是:32 位数。

只要 BL 不为零,就绝对不会发生溢出。

单片机汇编语言问题 ltb2具体步骤是什么意思 有什么作用 为什么要这么写我看的是教科书上的例题

;将未注释的给你注释一下吧:
LTB2: MOV DPTR,#TAB2 ;表首地址送数据指针DPTR
MOV A,R3 ;R3送累加器
CLR C ;进位清零
RLC A ;累加器乘2(左移)
MOV R3,A ;累加器送R3,以上指令完成R3*2
XCH A,R2 ;累加器与R2交换
RLC A ;左移
XCH R2,A ;累加器与A交换(注意此交换后A=R3),以上所有指令完成R2R3*2
ADD A,DPL ;R3+DPL
MOV DPL,A ;累加器送DPL
MOV A,DPH ; DPH送A
ADDC A,R2 ;DPH+R2+C
MOV DPH,A ;累加器送DPH,完成R2R3*2+表首地址,即得到所查数据的地址
CLR A ;累加器清0

汇编语言请教: DIV AB ,A=01H,B=02H;求运算后的A和B

  • A=0,B=1

  • A=0,B=2

  • 晕,上课睡着了吧?

  • DIV AB
    除法指令的功能是将A中无符号8位二进制数除以B中的无符号8位二进制数,所得商的二进制数部分存于A,余数部分存于B中,并将CY和OV置0。当除数(B)=0时,结果不定,则OV置1。CY总是清0。
    例:设(A)=0FBH(251D),(B)=12H(18D)。
    执行指令:DIV AB
    执行结果:(A)=0DH(商13),(B)=11H(余数I7),(OV)=0,(CY)=0。
    所以根据以上例题可以知道本题解为(A)=00H,(B)=02H。

一道汇编语言的题

1、设机器数字长为8位(含1位符号位),用补码运算规则计算下题。A=-16 B=37 求A-B 和A+B
原=10010000B
补=00100101B
补=11110000B
原=10100101B
补=11011011B
补
=补
=11110000B+11011011B
=11001011B(进位在进位触发器C中,因无溢出,自然丢失,结果是负数)
故 补
=补
=10110101B
所以 A-B=-53
A+B=补
=11110000B+00100101B
=00010101B(进位在进位触发器C中,因无溢出,自然丢失,结果是正数)
故 补=00010101B
所以 A+B=21
2.设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位尾符),写出85对应的机器数,要求阶码用原码表示,尾数用补码表示?
85=1010101B
尾数 01010101000B
阶码 00111B
85对应的机器数=0011101010101000B
3.计算X*Y 写出计算过程,其中X=-0.1101B,Y=0.1011B
原=0000011101000000B
补=0000010011000000B
补=0000001011000000B
补
=0000010111000100B
补
=0000011000111100B
X*Y=0.10001111B
4.现代计算机的存储系统中,一般分成哪几个层次?
存储器主要用来保存计算机的运行指令及数据资料。存储器分为内存储器和外存储器两种。
(1)内存储器:按使用方式的不同,内存储器又可以分为只读存储器(ROM)和随机存储器(RAM)两种。(2)外存储器:常用的外存储器有磁盘存储器和光盘存储器。磁盘存储器又分为硬盘存储器和软盘存储器两种。
5.设有一种BCD码,分别用下列编码表示十进制数字0-6
0000 0001 0010 0011 0111 1000 1001
试找出各个位上的权?
各个位上的权分别是 5、1、2、1

微机原理汇编语言问题

① add si 2 就是指针向后移动2字节指向下一个元素。2字节是这个例题中对象的长度(字,也就是2个字节),数组中保存的也都是16位数值。
② mov ax 从si寄存器所指向的位置取出一个字,写入到ax寄存器中。

汇编语言原码、反码、补码,还有真值问题

1、一个数的真值是这个数原本表示的大小。二进制真值,就是真值的二进制表示。
比如-2,二进制真值就是-10B。
2、是的。补嘛
3、正数的补码就是它的原码;
负数的话,将补码减1再按位取反能计算出原码
补码按位取反加1也能计算出原码
两种方法计算出来的结果相同。
比如:8位情况下,-2的补码是1111 1110,
用第一种方法:
减一:1111 1110 - 1 = 1111 1101
取反:10000010—— -2
用第二种方法:
取反:1000 0001
加一:1000 0010—— -2

求一道汇编题的讲解

挑两个典型的吧:
(1) MOV BX,-12
MOVSX EBX,BX;(EBX)= 0FFFF FFF4H
movsx为有符号扩展并传送;
***隐藏网址***
(3) MOV AH,7
MOVZX ECX,AH;(ECX)= 0000 0007H
movzx为无符号扩展并传送,不需要变换什么的;
(AH)=07H,所以(ECX)=0000 0007H

汇编语言中 si*2 具体指什么意思

1、shl si,1
这个si乘2后的si是指:这个无符号数数组在内存中所占的字节数(程序默认每个数组元素是一个字,即两个字节),加上数组首地址DI,正好指向这个数组的最后一个元素。
2、test si,1
此时的si存放的是数组长度,这个长度是指数组元素个数,而非指数组在内存中所占的字节数。但因为每个数组元素占两个字节,为准确确定数组中间元素的地址,必须判断其是否为偶数。是偶数则不用调整;否则,必须加1调整为偶数。如不这样做,当si为奇数时,若不加1调整,就会指向中间元素的高字节和下一个元素的低字节。
3、cmp si,2 ; (si)=2?
这里的比较si是否等于2,跟test si,1有很大区别。指令cmp si,2是判断si是否等于2,而指令test si,1则是判断si是偶数还是奇数,2是偶数,但偶数不一定非得是2,可以是其它偶数,如4、6、8等等。

如果你还想了解更多这方面的信息,记得收藏关注本站。

汇编语言典型例题详解(二进制到十进制转换(汇编语言)我看不明白)

本文编辑:admin

更多文章:


form表单制作(为什么制作的form表单会在网页显示中多出一行)

form表单制作(为什么制作的form表单会在网页显示中多出一行)

大家好,如果您还对form表单制作不太了解,没有关系,今天就由本站为大家分享form表单制作的知识,包括为什么制作的form表单会在网页显示中多出一行的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 09:10

teammate(teammate,company,partner)

teammate(teammate,company,partner)

各位老铁们,大家好,今天由我来为大家分享teammate,以及teammate,company,partner的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧

2026年10月11日 06:10

javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)

javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)

其实javascript arraybuffer的问题并不复杂,但是又很多的朋友都不太了解javascript可以把base64编码转换成二进制代码吗求示例代码!,因此呢,今天小编就来为大家分享javascript arraybuffer的

2026年10月11日 04:00

text函数公式(excel中round和text函数的区别是什么)

text函数公式(excel中round和text函数的区别是什么)

“text函数公式”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看text函数公式(excel中round和text函数的区别是什么)!

2026年10月11日 03:50

pascal编程软件(介绍一下pascal语言!)

pascal编程软件(介绍一下pascal语言!)

大家好,如果您还对pascal编程软件不太了解,没有关系,今天就由本站为大家分享pascal编程软件的知识,包括介绍一下pascal语言!的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 02:40

google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)

google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)

本篇文章给大家谈谈google chrome打不开,以及chrome浏览器打不开怎么回事 浏览器打不开的处理方法对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了

2026年10月11日 02:00

websocket整合springboot(Springboot整合Websocket遇到的坑)

websocket整合springboot(Springboot整合Websocket遇到的坑)

大家好,websocket整合springboot相信很多的网友都不是很明白,包括Springboot整合Websocket遇到的坑也是一样,不过没有关系,接下来就来为大家分享关于websocket整合springboot和Springbo

2026年10月11日 01:40

小米官方首爆miui14(miui14耗电严重官方回应)

小米官方首爆miui14(miui14耗电严重官方回应)

各位老铁们好,相信很多人对小米官方首爆miui14都不是特别的了解,因此呢,今天就来为大家分享下关于小米官方首爆miui14以及miui14耗电严重官方回应的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月11日 00:40

drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)

drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)

本篇文章给大家谈谈drawerlayout,以及android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月10日 19:20

xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)

xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)

大家好,今天小编来为大家解答以下的问题,关于xor四位数怎么运算,单片机怎样用C语言实现4个数字间的异或这个很多人还不知道,现在让我们一起来看看吧!

2026年10月10日 17:50

最近更新

thinkpade470c加内存条(thinkpad e470c内存条是什么牌子如果要添加4g内存什么牌子比较好)
2026-10-11 09:00:03 浏览:0
frontpage的主要功能(frontpage是什么)
2026-10-11 08:40:18 浏览:0
ideapad15alc7能玩什么游戏(联想ideapad15可以玩刺客信条启示录吗)
2026-10-11 08:10:05 浏览:0
热门文章

打印机m7400(m7400打印机清零方法)
2026-08-29 07:50:01 浏览:5
acrobat各版本区别(Acrobat XI Pro与 Acrobat PRO DC什么区别)
2026-08-29 22:30:20 浏览:2
联想y510p怎么升级(联想y510p换cpu)
2026-08-17 03:30:04 浏览:2
标签列表