汇编语言将双字(DX,AX)左移4 位

2023-10-08 06:20
文章标签 汇编语言 左移 双字 dx ax

本文主要是介绍汇编语言将双字(DX,AX)左移4 位,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

a100

mov cl,04;cl=4

shl dx,cl;dx左移四位,如果dx=8765,那就挤掉8,=8760

mov bx,0000;bx寄存器清零

mov bl,ah;ax的高八位给bx的低八位

shr bx,cl;bx右移四位,导致ax的高八位只剩高四位,也就是如果ax=4321,那么本来转过去的43只剩4,达到目的

and dl,f0;dx的第八位的后四位清零

add dl,bl;把bl给dl,效果就是di:xxxx0000+0000yyyy

shl ax,cl;成功把数转过去了,ax就可以左移四位了

int 3;结束

 

r ax

4321

r dx

8765

附图

运行前 dx=8765  ax=4321 运行后 dx=7654  ax=3210

 

这篇关于汇编语言将双字(DX,AX)左移4 位的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/163285

相关文章

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试

汇编语言知识基础介绍

汇编语言是一种低级编程语言,直接与计算机硬件的指令集架构(ISA)对应。它在操作系统、设备驱动程序和性能关键的应用程序中起着重要作用。以下是汇编语言的基础介绍: 1. 基本概念 指令集架构(ISA):汇编语言与特定的处理器架构(如 x86、ARM)对应,每种架构有其特定的指令集。汇编指令:汇编语言的语法是处理器指令的符号表示,通常包括操作码(opcode)和操作数。操作码指定操作的类型,操作数

试用GLFW并创建OpenGL和DX的环境

介绍GLFW GLFW官网:https://www.glfw.org/ GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop. It provides a simple API for creating windows, contex

解决ax+by=c,不定方程(扩展欧几里得)

首先有几个定理我们需要知道,在这里我也会一一证明。 —————————————————————————————————————— 定理1:gcd(a,b)==gcd(b,a%b);这个是欧几里得提出并证明的。 (%是取余的意思,在数学中 可用mod表示); 以下是证明过程 —————————————————————————————————————— 令a = k * b + r; (k

汇编语言输出“Hello World!“

1.软件 Nasmide64.exe(李忠老师编写) Fixvhdw64.exe(李忠老师编写) VirtualBox虚拟机(免费 开源) 2.过程 01.Fixvhdw64.exe输入以下代码: mov ax,0xb800mov ds,axmov byte [0x00],'H'mov byte [0x02],'e'mov byte [0x04],'l'mov byte [0

ARM——结构体系(处理器工作模式,CPSR,立即数,汇编语言函数调用)

1、处理器工作模式          ARM有7个基本工作模式:User:非特权模式,大部分任务执行在这种模式FIQ:当一个高优先级(fast)中断产生时将会进入这种模式IRQ:当一个低优先级(normal)中断产生时将会进入这种模式Supervisor:当复位或软中断指令执行时将会进入这种模式Abort:当存取异常时将会进入这种模式Undef:当执行未定义指令时会进入这种模式Sy

ARM下汇编语言编程

一、ARM汇编语言程序格式 ARM汇编语言是以段(section)为单位来组织源文件的。段是相对独立的、具有特定名称的、不可分割的指令或者数据序列。 段又可以分为代码段和数据段,代码段存放执行代码,数据段存放代码运行时需要用到的数据。一个ARM源程序至少需要一个代码段,大的程序可以包含多个代码段和数据段。 二、ARM汇编语言中常用的伪操作 例如: area reset,cod

汇编语言05——包含多个段的程序

整理自fishcc论坛 安全的空间 通常来说,0:200~0:300这段空间是相对安全的,操作系统通常不会去占用 但这只有256个字节,当需要更多空间时,可以向操作系统申请 问题: 编程计算以下8个数据的和,结果存在ax 寄存器中: 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H 程序: assume cs

汇编语言04——[BX]和loop指令

整理自fishcc论坛课件 首先展示一个新的程序: assume cs:codesg codesg segment start: mov ax,2000H mov ds,ax mov al,[0] mov bl,[1] mov cl,[2] mov dl,[3] mov ax,4C00H int 21H codesg ends end start 使用masm进行

汇编语言03——第一个汇编程序

整理自鱼C论坛课件 汇编程序编写步骤 编写源代码->使用MASM.exe进行编译,产生目标文件->用LINK.exe,对目标文件进行链接,生成可执行文件 可执行文件中包含两部分内容 1,程序和数据 2,相关的描述信息(程序有多大,要占用多少内存空间等) 源程序: assume cs:abc abc segment mov ax,2 add ax,ax add