汇编语言中指令的英文解释

汇编语言中指令的英文解释
汇编语言中指令的英文解释

1.通用数据传送指令.

MOV----> move MOVSX---->extended move with sign data

MOVZX---->extended move with zero data PUSH---->push POP---->pop PUSHA---->push all POPA---->pop all PUSHAD---->push all data

POPAD---->pop all data BSWAP---->byte swap XCHG---->exchange

CMPXCHG---->compare and change XADD---->exchange and add

XLAT---->translate

2.输入输出端口传送指令.

IN---->input OUT---->output

3.目的地址传送指令.

LEA---->load effective address LDS---->load DS LES---->load ES

LFS---->load FS LGS---->load GS LSS---->load SS

4.标志传送指令.

LAHF---->load AH from flag SAHF---->save AH to flag PUSHF---->push flag POPF---->pop flag PUSHD---->push dflag POPD---->pop dflag

二、算术运算指令

ADD---->add ADC---->add with carry INC---->increase 1

AAA---->ascii add with adjust DAA---->decimal add with adjust SUB---->substract SBB---->substract with borrow DEC---->decrease 1 NEC---->negative

CMP---->compare AAS---->ascii adjust on substract

DAS---->decimal adjust on substract MUL---->multiplication

IMUL---->integer multiplication AAM---->ascii adjust on multiplication

DIV---->divide IDIV---->integer divide AAD---->ascii adjust on divide

CBW---->change byte to word CWD---->change word to double word

CWDE---->change word to double word with sign to EAX

CDQ---->change double word to quadrate word

三、逻辑运算指令

AND---->and OR---->or XOR---->xor NOT---->not TEST---->test

SHL---->shift left SAL---->arithmatic shift left SHR---->shift right

SAR---->arithmatic shift right ROL---->rotate left ROR---->rotate right

RCL---->rotate left with carry RCR---->rotate right with carry

四、串指令

MOVS---->move string CMPS---->compare string SCAS---->scan string

LODS---->load string STOS---->store string REP---->repeat

REPE---->repeat when equal REPZ---->repeat when zero flag

REPNE---->repeat when not equal REPNZ---->repeat when zero flag

REPC---->repeat when carry flag REPNC---->repeat when not carry flag

五、程序转移指令

1>无条件转移指令(长转移)

JMP---->jump CALL---->call RET---->return RETF---->return far

2>条件转移指令(短转移,-128到+127的距离内)

JAE---->jump when above or equal JNB---->jump when not below

JB---->jump when below JNAE---->jump when not above or equal

JBE---->jump when below or equal JNA---->jump when not above

JG---->jump when greater JNLE---->jump when not less or equal

JGE---->jump when greater or equal JNL---->jump when not less

JL---->jump when less JNGE---->jump when not greater or equal

JLE---->jump when less or equal JNG---->jump when not greater

JE---->jump when equal JZ---->jump when has zero flag

JNE---->jump when not equal JNZ---->jump when not has zero flag

JC---->jump when has carry flag JNC---->jump when not has carry flag

JNO---->jump when not has overflow flag JNP---->jump when not has parity flag JPO---->jump when parity flag is odd JNS---->jump when not has sign flag

JO---->jump when has overflow flag JP---->jump when has parity flag

JPE---->jump when parity flag is even JS---->jump when has sign flag

3>循环控制指令(短转移)

LOOP---->loop LOOPE---->loop equal LOOPZ---->loop zero

LOOPNE---->loop not equal LOOPNZ---->loop not zero

JCXZ---->jump when CX is zero JECXZ---->jump when ECX is zero

4>中断指令

INT---->interrupt INTO---->overflow interrupt IRET---->interrupt return

5>处理器控制指令

HLT---->halt WAIT---->wait ESC---->escape LOCK---->lock NOP---->no operation STC---->set carry CLC---->clear carry CMC---->carry make change

STD---->set direction CLD---->clear direction STI---->set interrupt

CLI---->clear interrupt

六、伪指令

DW---->definw word PROC---->procedure ENDP---->end of procedure

SEGMENT---->segment ASSUME---->assume ENDS---->end segment

END---->end

指令系统和汇编语言程序的设计实验

第二章指令系统和汇编语言程序设计实验 本章实验主要包括指令系统和汇编语言程序设计两部分。采用软件模拟调试的方法, 目的在于通过这些实验可以使学生巩固所学知识, 加深对 MCS-51单片机部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。 第一节指令系统实验 实验一熟悉键盘操作及数传指令编程设计 一、实验目的 1.熟悉软件模拟调试的环境及键盘操作。 2.掌握汇编语言程序设计的方法,加深对指令的理解。 3.学会软件模拟调试和察看修改观察项的方法。 二、实验容 印证数据传送指令的功能、寻址方式以及 PC 指针、 SP 指针、 DPTR 指针、Ri 指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。 三、实验步骤 1.进入调试软件环境,输入源程序; 2.汇编源程序; 3.用单步方式运行程序; 4.检查并记录各寄存器和存储单元容的变化。 四、程序清单

1. 部 RAM 数据传送 需要查看的数据有 30H,31H,A,R0等。 ORG 0000H MOV R0,#30H MOV 30H,#45H MOV 31H,#46H MOV R2,30H MOV 02H,31H MOV A,#87H MOV 0E0H,30H MOV 30H,A MOV 31H,R0 SJMP $ END 2. 外部数据传送 需要查看的数据有外部数据存储器单元 2000H ,外部程序存储器单元2001H 。 ORG 0000H MOV A,#89H MOV DPTR,#2000H

MOVX DPTR,A INC DPTR CLR A MOVC A,A+DPTR SJMP $ ORG 2000H DB 44H DB 78H DB 67H END 3. 堆栈操作 需要查看的数据有 50H 、 51H 、 A 及 SP 指针和堆栈区中数据随 PUSH 和POP 指令执行后的变化情况和数据的存放次序等。 1 可用于保护现场和恢复现场的程序 ORG 0000H MOV SP,#5FH MOV 50H,#3BH MOV 51H,#2FH MOV A,#12H

arm中一些常见英文缩写解释

arm中一些常见英文缩写解释 1.arm中一些常见英文缩写解释 msb:最高有效位;lsb:最低有效位;ahb:先进的高性能总线;vpb:连接片内外设功能的vlsi外设总线;emc:外部存储器控制器;mam:存储器加速模块;vic:向量中断控制器;spi:全双工串行接口;can:控制器局域网,一种串行通讯协议;pwm:脉宽调制器;etm:嵌入式跟踪宏;cpsr:当前程序状态寄存器;spsr:程序保护状态寄存器; 2.mam使用注意事项: 答:当改变mam定时值时,必须先通过向mamcr写入0来关闭mam,然后将新值写入mamtim。最后,将需要的操作模式的对应值写入mamcr,再次打开mam。对于低于20mhz的系统时钟,mamtim设定为001。对于20mhz到40mhz之间的系统时钟,建议将flash访问时间设定为2cclk,而在高于40mhz的系统时钟下,建议使用 3cclk。 3.vic使用注意事项 答:如果在片内ram当中运行代码并且应用程序需要调用中断,那么必须将中断向量重新映射到flash地址0x0。这样做是因为所有的异常向量都位于地址0x0及以上。通过将寄存器memmap(位于系统控制模块当中)配置为用户ram模式来实现这一点。用户代码被连接以便使中断向量表装载到0x4000 0000。 4.arm启动代码设计 答:arm启动代码直接面对处理器内核和硬件控制器进行编程,一般使用汇编语言。启动代码一般包括:中断向量表初始化存储器系统初始化堆栈初始化有特殊要求的端口、设备初始化用户程序执行环境改变处理器模式呼叫主应用程序 5.irq和fiq之间的区别 答:irq和fiq是arm处理器的两种编程模式。irq是指中断模式,fir是指快速中断模式。对于fiq你必须尽快处理你的事情并离开这个模式。irq可以被fiq所中断,但irq不能中断fiq。为了使fiq更快,所以这种模式有更多的影子寄存器。fiq不能调用swi(软件中断)。fiq还必须禁用中断。如果一个fiq例程必须重新启用中断,则它太慢了,并应该是irq而不是fiq。 6.arm处理器对异常中断的响应过程

汇编指令英文全称

汇编指令英文全称 一、传送指令 1、通用数据传送指令 指令英文全称 MOV move MOVSX extended move with sign data MOVZX extended move with zero data PUSH push POP pop PUSHA push all POPA pop all PUSHAD push all data POPAD pop all data BSWAP byte swap XCHG exchange CMPXCHG compare and change XADD exchange and add XLAT translate 2、输入输出端口传送指令 指令英文全称 IN input OUT output 3、目的地址传送指令 指令英文全称 LEA load effective address LDS load DS LES load ES LFS load FS LGS load GS LSS load SS 4、标志传送指令 指令英文全称 LAHF load AH from flag SAHF save AH to flag PUSHF push flag POPF pop flag PUSHD push dword flag POPD pop dword flag 二、运算指令 1、算术运算指令 指令英文全称 ADD add ADC add with carry INC increase 1 AAA ascii add with adjust DAA decimal add with adjust SUB substract SBB substract with borrow DEC decrease 1 NEC negative CMP compare AAS ascii adjust on substract DAS decimal adjust on substract MUL multiplication IMUL integer multiplication AAM ascii adjust on multiplication DIV divide IDIV integer divide AAD ascii adjust on divide CBW change byte to word CWD change word to double word CWDE change word to double word with sign to EAX CDQ change double word to quadrate word 2、逻辑运算指令 指令英文全称 AND and OR or XOR xor

微机原理汇编语言将小写字母转换为

键盘输入一段字符串,以回车结束输入,程序将其中小写字母 转换为大写 DATAS SEGMENT tishi db “please enter a string!“,“$“ outs db “the new steing is:“,“$“;此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov dx, offset tishi mov ah,09h int 21h mov dl,0dh mov ah,02h int 21h mov dl,0ah mov ah,02h

int 21h mov si, 0 input: mov ah,01h int 21h cmp al,0dh jz enter ;此处判断输入字符是否为回车 cmp al,61h jb load cmp al,7ah ja load sub al,20h load:mov [si],al inc si jmp input enter: mov cx,si;若输入字符为回车,则输入结束mov si,0 mov dl,0dh; mov ah,02h; int 21h; mov dl,0ah; mov ah,02h;

int 21h;此处回车换行 mov dx,offset outs;显示提示符mov ah,09h int 21h mov dl,0dh; mov ah,02h int 21h mov dl,0ah mov ah,02h int 21h;回车换行 shuchu:mov dl,[si] mov ah,02h int 21h inc si loop shuchu ;输出循环 MOV AH,4CH INT 21H CODES ENDS END START

汇编语言中指令的英文解释.

1.通用数据传送指令. MOV----> move MOVSX---->extended move with sign data MOVZX---->extended move with zero data PUSH---->push POP---->pop PUSHA---->push all POPA---->pop all PUSHAD---->push all data POPAD---->pop all data BSWAP---->byte swap XCHG---->exchange CMPXCHG---->compare and change XADD---->exchange and add XLAT---->translate 2.输入输出端口传送指令. IN---->input OUT---->output 3.目的地址传送指令. LEA---->load effective address LDS---->load DS LES---->load ES LFS---->load FS LGS---->load GS LSS---->load SS 4.标志传送指令. LAHF---->load AH from flag SAHF---->save AH to flag PUSHF---->push flag POPF---->pop flag PUSHD---->push dflag POPD---->pop dflag 二、算术运算指令 ADD---->add ADC---->add with carry INC---->increase 1 AAA---->ascii add with adjust DAA---->decimal add with adjust SUB---->substract SBB---->substract with borrow DEC---->decrease 1 NEC---->negative CMP---->compare AAS---->ascii adjust on substract

汇编指令的英文全称

汇编指令的英文全称 虽然,知不知道汇编语言指令的英文全称,并不影响血编程,不过,要是真学会了,连指令的英文都不知道也够别扭滴哈~,罗列出来,给大家参考参考。 8086CPU提供以下几大类指令。 一、数据传送指令 mov(move)、push、pop、pushf(push flags)、popf(pop flags)、xchg (exchange)等都是数据传送指令,这些指令实现寄存器和内存、寄存器和寄存器之间的单个数据传送。 二、算术运算指令 add、sub(substract)、adc(add with carry)、sbb(substract with borrow)、inc(increase)、dec(decrease)、cmp(compare)、imul(integer multiplication)、idiv(integer divide)、aaa(ASCII add with adjust)等都是算术运算指令,这些指令实现寄存器和内存中的数据运算。它们的执行结果影响标志寄存器的sf、zf、of、cf、pf、af位。 三、逻辑指令 and、or、not、xor(exclusive or)、test、shl(shift logic left)、shr(shift logic right)、sal(shift arithmetic left)、sar(shift arithmetic right)、rol(rotate left)、ror(rotate right)、rcl(rotate left through carry)、rcr(rotate right through carry)等都是逻辑指令。除了not指令外,它们的执行结果都影响标志寄存器的相关标志位。 四、转移指令 可以修改IP,或同时修改CS和IP的指令统称为转移指令。转移指令分为一下几类。 (1)无条件转移指令:jmp(jump); (2)条件转移指令:jcxz(jump if CX is zero)、je(jump if equal)、jb(jump if below)、ja(jump if above)、jnb(jump if not below)、jna(jump if not above)等; (3)循环指令:loop; (4)过程:call、ret(return)、retf(return far); (5)中断:int(interrupt)、iret(interrupt return)。 五、处理机控制指令 cld(clear direction)、std(set direction)、cli(clear interrupt)、sti(set interrupt)、nop(no operation)、clc(clear carry)、cmc(carry make change)、stc(set carry)、hlt(halt)、wait、esc(escape)、lock等,这些指令对标志寄存器

汇编语言代码规范

汇编语言代码规范 随着程序功能的增加和版本的提高,程序越来越复杂,源文件也越来越多,风格规范的源程序会对软件的升级、修改和维护带来极大的方便,要想开发一个成熟的软件产品,必须在编写源程序的时候就有条不紊,细致严谨。 在编程中,在程序排版、注释、命名和可读性等问题上都有一定的规范,虽然编写可读性良好的代码并不是必然的要求(世界上还有难懂代码比赛,看谁的代码最不好读懂!),但好的代码风格实际上是为自己将来维护和使用这些代码节省时间。本节就是对汇编语言代码风格的建议。 变量和函数的命名 1. 匈牙利表示法 匈牙利表示法主要用在变量和子程序的命名,这是现在大部分程序员都在使用的命名约定。“匈牙利表示法”这个奇怪的名字是为了纪念匈牙利籍的Microsoft 程序员Charles Simonyi,他首先使用了这种命名方法。 匈牙利表示法用连在一起的几个部分来命名一个变量,格式是类型前缀加上变量说明,类型用小写字母表示,如用h表示句柄,用dw表示double word,用sz表示以0结尾的字符串等,说明则用首字母大写的几个英文单词组成,如TimeCounter,NextPoint等,可以令人一眼看出变量的含义来,在汇编语言中常用的类型前缀有: b 表示byte

w 表示word dw 表示dword h 表示句柄 lp 表示指针 sz 表示以0结尾的字符串 lpsz 表示指向0结尾的字符串的指针f 表示浮点数 st 表示一个数据结构 这样一来,变量的意思就很好理解:hWinMain 主窗口的句柄dwTimeCount 时间计数器,以双字定义

szWelcome 欢迎信息字符串,以0结尾 lpBuffer 指向缓冲区的指针 stWndClass WNDCLASS结构 … 很明显,这些变量名比count1,abc,commandlinebuffer和FILEFLAG之类的命名要易于理解。由于匈牙利表示法既描述了变量的类型,又描述了变量的作用,所以能帮助程序员及早发现变量的使用错误,如把一个数值当指针来使用引发的内存页错误等。 对于函数名,由于不会返回多种类型的数值,所以命名时一般不再用类型开头,但名称还是用表示用途的单词组成,每个单词的首字母大写。Windows API是这种命名方式的绝好例子,当人们看到ShowWindow,GetWindowText,DeleteFile和GetCommandLine之类的API函数名称时,恐怕不用查手册,就能知道它们是做什么用的。比起int 21h/09h和int 13h/02h之类的中断调用,好处是不必多讲的。 2. 对匈牙利表示法的补充

计算机常见英文缩写概要(汇编)

计算机常用英文缩写 3DPA—3D Positional Audio—3D定位音频 3DS—Three Dimension Studio—三维摄影室AAT—Average Access Time—平均存取时间 ABS—Auto Balance System—自动平衡系统AC—Alternating Current—交流电 ACOPS—Automatic CPU Overheat Prevention System—自动CPU过热预防系统 ACPI—Advanced Configuration And Power Interface—高级配置与电源接口 ADC—Analog To Digital Convent—模数转换器ADIMM—Advanced Dual In-line Memory Modules—高级双重内嵌式内存模块 ADO—ActiveX Data Object—ActiveX数据对象ADSL—Asymmetric Digital Subscriber Line—非对称数字用户路线 AE—Atmospheric Effect—雾化效果 AGP—Accelerated Graphics Port—加速图形接口AGU—Address Generation Unit—地址产生单元AHA—Accelerated Hub Architecture—加速中心架构AH—Authentication Header—鉴定头文件

AI—Artificial Intelligence—人工智能 AL—Artificial Life—人工生命 ALU—Arithmetic Logic Unit—算术逻辑单元ANSI—American National Standard Institute—美国国家标准协会 AOL—American Online—美国在线 APIC—Advanced Programmable Interrupt Controller—高级程序中断控制器 APM—Advanced Power Management—高级电源管理APP—Accelerated Parallel Processing—AMD加速并行处理技术 APPE—Advanced Packet Parsing Engine—高级数据包解析引擎 ARP—Address Resolution Protocol—地址解析协议ASC—Anti Static Coating—防静电涂层ASCII—American Standard Code For Information Interchange—美国信息交换标准代码ASIC—Application Specific Integrated Circuit—特殊应用集成电路 AST—Average Seek Time—平均寻道时间ATAPI—Advanced Technology Attachment Packet Interface —高级技术附加数据包接口

第3章-MCS-51系列单片机的指令系统和汇编语言程序范文

第3章MCS一51系列单片机的指令系统 和汇编语言程序 3·1汇编指令 3·1·1请阐明机器语言、汇编语言、高级语言三者的主要区别,进一步说明为什么这三种语言缺一不可。 3·1·2请总结: (1)汇编语言程序的优缺点和适用场合。 (2)学习微机原理课程时,为什么一定要学汇编语言程序? 3·1·3MCS一51系列单片机的寻址方式有哪儿种?请列表分析各种寻址方式的访问对象与寻址范围。 3·1·4要访问片内RAM,可有哪几种寻址方式? 3·1·5要访问片外RAM,有哪几种寻址方式? 3·1·6要访问ROM,又有哪几种寻址方式? 3·1·7试按寻址方式对MCS一51系列单片机的各指令重新进行归类(一般根据源操作数寻址方式归类,程序转移类指令例外)。 3·1·8试分别针对51子系列与52子系列,说明MOV A,direct指令与MOV A,@Rj 指令的访问范围。 3·1·9传送类指令中哪几个小类是访问RAM的?哪几个小类是访问ROM的?为什么访问ROM的指令那么少?CPU访问ROM多不多?什么时候需要访问ROM? 3·1·10试绘图示明MCS一51系列单片机数据传送类指令可满足的各种传送关系。3·1·11请选用指令,分别达到下列操作: (1)将累加器内容送工作寄存器R6. (2)将累加器内容送片内RAM的7BH单元。 (3)将累加器内容送片外RAM的7BH单元。 (4)将累加器内容送片外RAM的007BH单元。 (5)将ROM007BH单元内容送累加器。 3·1·12 区分下列指令的不同功能: (l)MOV A,#24H 与MOV A.24H (2)MOV A,R0与MOV A,@R0 (3)MOV A,@R0与MOVX A,@R0 3·1·13设片内RAM 30H单元的内容为40H; 片内RAM 40H单元的内容为l0H; 片内RAM l0H单元的内容为00H; (Pl)=0CAH。 请写出下列各指令的机器码与执行下列指令后的结果(指各有关寄存器、RAM单元与端口的内容)。 MOV R0,#30H MOV A,@R0 MOV RI,A MOV B,@Rl MOV @R0,Pl MOV P3,Pl MOV l0H,#20H MOV 30H,l0H

汇编语言指令英文全称

汇编指令英文全称 1.通用数据传送指令 MOV----> move MOV dest,src ;dest←src MOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。 MOVSX---->extended move with sign data MOVZX---->extended move with zero data PUSH---->push POP---->pop 进栈出栈指令 PUSHA---->push all POPA---->pop all PUSHAD---->push all data POPAD---->pop all data BSWAP---->byte swap XCHG---->exchange 交换指令用来将源操作数和目的操作数内容交换,操作数可以是字、也可以是字节,可以在通用寄存器与通用寄存器或存储器之间对换数据,但不能在存储器与存储器之间对换数据。mov ax,1234h ;ax=1234h mov bx,5678h ;bx=5678h xchg ax,bx ;ax=5678h,bx=1234h xchg ah,al ;ax=7856h CMPXCHG---->compare and change XADD---->exchange and add XLAT---->translate 换码指令用于将BX指定的缓冲区中、AL指定的位移处的数据取出赋给AL。 2.输入输出端口传送指令 IN---->input OUT---->output 3.目的地址传送指令 LEA---->load effective addres 有效地址传送指令 mov bx,0400h mov si,3ch lea bx,[bx+si+0f62h] ;BX=139EH 这里BX得到的是主存单元的有效地址,不是物理地址,也不是该单元的内容。 LDS---->load DS LES---->load ES LFS---->load FS

51单片机常用汇编语言助记符英文全称

51单片机常用汇编语言助记符英文全称 (1)数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; (2)算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1;DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; (3)逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零;CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap) 低4位与高4位交换; (4)控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用;

指令系统及汇编语言程序设计

第3章指令系统及汇编语言程序设计 一、简答题 1、80C51系列单片机的指令系统有何特点? 2、80C51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何? 3、访问特殊功能寄存器SFR可以采用哪些寻址方式? 4、访问内部RAM单元可以采用哪些寻址方式? 5、访问外部RAM单元可以采用哪些寻址方式? 6、访问外部程序存储器可以采用哪些寻址方式? 7、为什么说布尔处理功能是80C51单片机的重要特点? 8、对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问? 9、试根据指令编码表写出下列指令的机器码。 (1)MOV A,#88H (2)MOV R3,50H (3)MOV P1.1,#55H (4)ADD A,@R1 (5)SETB 12H 10、完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指 令序列。 (1)将R0的内容传送到R1; (2)内部RAM单元60H的内容传送到寄存器R2; (3)外部RAM单元1000H的内容传送到内部RAM单元60H; (4)外部RAM单元1000H的内容传送到寄存器R2; (5)外部RAM单元1000H的内容传送到外部RAM单元2000H。 11、11、若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段 后上述各单元内容的变化。 MOV A,@R1 MOV @R1,40H MOV 40H,A MOV R1,#7FH 12、若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH, 试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指 出CY、AC、和OV的值。 (1)MOV A,@R0 (2)ANL 40H,#0FH (3)ADD A,R4 (4)SWAP A (5)DEC @R1 (6)XCHD A,@R1 13、若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、 42H单元中的内容各为多少? MOV A,50H MOV R0,A MOV A,#00H MOV @R0,A MOV A,3BH MOV 41H,A MOV 42H,41H 14、试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。

8086寄存器及指令英文全称

通用寄存器:AX累加器(Accumulator),BX 基地址寄存器(Base Register),CX 计数寄存器(Count Register) ,DX数据寄存器(Data Register) 段寄存器:代码段寄存器CS--code segment , 数据段寄存器DS--data segment , 堆栈段寄存器SS--stack segment ,附加段寄存器ES--extra segment 。 特殊功能寄存器:指令指针寄存器IP--instruction pointer ,堆栈指针SP--stack pointer ,基址指针BP--base pointer ,源变址寄存器SI--source index ,目标变址寄存器DI--destination index ,标志寄存器FR--flag register(或者叫程序状态字PSW--program status word)。 PSW常用的标志有: 标志值为1时的标记值为0时的标记 OF(overflow flag) OV(overflow) NV(not overflow) ZF(zero flag) ZR(zero) NZ(not zero) PF(parity flag) PE(parity even) PO(parity odd) CF(carry flag) CY(carried) NC(not carried) DF(direction flag) DN(down) UP(up) SF(sign flag) NG(negative) PL(plus) TF(trap flag) IF(interrupt flag) AF(auxiliary flag) 一、运算结果标志位 1、进位标志CF(Carry Flag) 进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。 使用该标志位的情况有:多字(字节)数的加减运算,无符号数的大小比较运算,移位操作,字(字节)之间移位,专门改变CF值的指令等。 2、奇偶标志PF(Parity Flag) 奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。 利用PF可进行奇偶校验检查,或产生奇偶校验位。在数据传送过程中,为了提供传送的可靠性,如果采用奇偶校验的方法,就可使用该标志位。

指令系统及汇编语言程序设计

指令系统及汇编语言程序设计 2.4 伪指令 伪指令本身不会产生可执行的机器指令代码,它仅仅是告诉汇编程序有关源程序的某些信息,或者用来说明内存单元的用途。伪指令在汇编过程中由汇编程序进行处理。 2.4.1 数据定义伪指令 数据定义伪指令用于定义变量的类型、给存储器赋初值或给变量分配存储单元。常用的数据定义伪指令有DB、DW和DD等。 格式: [变量名] 伪指令助记符数据表项 功能:定义一个数据存储区,其类型由所定义的数据定义指令而指定。 操作说明:方括号中的变量名为任选项,变量名后面不跟冒号“:”。数据表项可以包含多个数据之间用逗号分隔开。数据定义伪指令助记符有以下三种: (1) DB定义变量类型为字节(BYTE),DB后面的每个数据占一个字节。 (2) DW 定义变量类型为字(WORD),DW后面的每个数据占一个字,即两个字节。在内存中,低字节在前,高字节在后。 (3) DD 定义变量类型为双字(DWORD),后面的每个数据占两个字。在内存中,低位字在前,高位字在后。 例如,有下列数据定义语句 D1 DB 1,-12 D2 DW 1,2010H D3 DD 1,10203040H 数据表项中除了常数、表达式和字符串外,还可以是问号“?”,它仅给变量保留相应的存储单元,而不给变量赋初值。相同的操作数重复出现时,可用重复符号“DUP”表示。 其格式为: n DUP(初值[,初值,……]);n表示重复的次数,圆括号中为重复的内容。 下面是用问号或DUP表示操作数的例子: ARRAY DB 1000 DUP(0) VAR DW ?,? 2.4.2 符号定义伪指令 1. 赋值伪指令 格式:变量名 EOU 表达式 功能:将右边表达式的值赋给左边的变量。 操作说明:表达式可以是一个常数、符号、数值表达式或地址表达式。 需要注意的是:EQU伪指令不允许对同一符号重复定义。 EQU伪指令具体应用举例如下: CR EQU ODH ;定义CR为常数(回车的ASCII代码) TAB EQU TABLE-ASCII ;定义变量 DIS EQU 1024*768 ;定义数值表达式 ADR EQU ES:[DI+3] ;定义地址表达式 M EQU MOV ;定义助记符 2.等号(=)伪指令 格式:变量名=表达式 功能:将右边表达式的值赋给左边的变量。 操作说明:等号(=)伪指令的功能与EQU伪指令相仿,它可以对同一个名字重复定义。

51汇编指令对应英文全称

MOV (Move) MOVC (Move Code) 代码字节传送 MOVX (Move External) [ik?st ?:n?l]外部的 PUSH 推 POP(pop-up) 弹出 AJMP (Absolute Jump) LJMP (Long Jump) SJMP (Short Jump) JMP (Jump Indirect)[?indi?rekt]间接的 JZ (Jump Zero) JNZ (Jump Not Zero) JC (Jump if Carry进位) 进位为1转移 JNC (Jump if Not Carry) 进位为0转移 JB (Jump if Bit is set) 直接寻址位为1转移 JNB (Jump if Not Bit) JBC (If Bit is set and Clear Bit) 直接寻址位为1转移并清该位CJNE (Compare比较and Jump if Not Equal相等) DJNZ (Decrement减1 and Jump if Not Zero) ACALL (Absolute Call) LCALL (Long Call) RET (Return) NOP (No Operation) ADD (addition) ADDC (Add with Carry进位) SUBB (Subtract with Borrow借) MUL (Multiply)[?m?ltiplai] 相乘 DIV (Division) 除 INC (Increment) 增量 DEC (Decrement) 减量 ANL (Logical AND) ORL (Logical OR) XRL (Logical Exclusive of OR) [ik?sklu:siv]排他的(非),异或 CPL (Complement) [?k?mplim? nt]补充,取反 CLR (Clear) SEBT (Set Bit) 置位 RL (Rotate Left) [r?u?teit].(使)旋 转 RR (Rotate Right) RLC (Rotate Left throught the Carry flag) 经过进位的**循环 左移 RRC (Rotate Right throught the Carry flag) XCH (Exchange) 交换 XCHD 交换低4位字节 SWAP 高低4位互换 DA (Decimal Adjust) [?desim?l] 十进制调整 ORG (Origin) [??rid?in]起点 DB (Define Byte) DW (Define Word) EQU (Equal) DATA XDATA (External Data) BIT

MIPS 指令系统和汇编语言

第四章MIPS指令系统和汇编语言 1.考研预测:出题特点总结 本章是对统考408内容来说,本章是新增的章节。此外北航961大纲中制定了要考MIPS 指令集,从15年961真题来看MIPS是重中之重。但是今年计组并没有指定具体的教材,但大纲明确要求掌握MIPS指令集,所以还是建议考生将《计算机组成与设计:硬件/软件接口》中文版(原版第三版或第四版)作为本章的参考书籍。 本章大致内容是MIPS的基础知识,难度并不大。考生应该将重点放在MIPS指令集的基础上,考察C语言中的语句转换为对应的MIPS指令,所以需要熟练掌握C语言中一些语句对应的MIPS指令实现。本章出题很大可能就是C语言和MIPS汇编语言之间的转换,也可能涉及到第五章CPU指令流水线等内容。 2.考研知识点系统整理:梳理考点,各个击破 3.1 指令系统概述 机器指令要素 操作码:指明进行的何种操作 源操作数地址:参加操作的操作数的地址,可能有多个。 目的操作数地址:保存操作结果的地址。 下条指令的地址:指明下一条要运行的指令的位置,一般指令是按顺序依次执行的,所以绝大多数指令中并不显式的指明下一条指令的地址,也就是说,指令格式中并不包含这部分信息。只有少数指令需要显示指明下一条指令的地址。

指令执行周期 3.2 指令格式 一台计算机指令格式的选择和确定要涉及多方面的因素,如指令长度、地址码结构以及操

作码结构等,是一个很复杂的问题,它与计算机系统结构、数据表示方法、指令功能设计等都密切相关。 指令的基本格式 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如下: ( 其中A1为第一操作数地址,A2为第二操作数地址,A3为操作结果存放地址。 这条指令的含义:(A1)OP(A2)→A3 式中OP表示双操作数运算指令的运算符号,如“+”或“–”等。 (2)二地址指令

高级语言、汇编语言及机器语言的区别

计算机语言具有高级语言和低级语言之分。而高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。 低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如目前流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,VC,易语言,中文版的C语言习语言等等,这些语言的语法、命令格式都不相同。 高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。所以汇编语言适合编写一些对速度和代码长度要求高的程序和直接控制硬件的程序。高级语言、汇编语言和机器语言都是用于编写计算机程序的语言。 高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地址。 机器语言(machine language)是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据。机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统 它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如,操作码字段和地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。 用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作。编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。 汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编.

单片机指令英文全称

51单片机汇编指令集(指令集带英文翻译) 一、数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送; MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX(Move External RAM)对外部RAM的数据传送; XCH(Exchange)字节交换; XCHD(Exchange low-order Digit)低半字节交换; PUSH(Push onto Stack)入栈; POP (Pop from Stack)出栈; 二、算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1; DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; 三、逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC(Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap)低4位与高4位交换; 四、控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用; LCALL(Long subroutine Call)子程序长调用; RET(Return from subroutine)子程序返回; RETI(Return from Interruption)中断返回; SJMP(Short Jump)短转移; AJMP(Absolute Jump)绝对转移; LJMP(Long Jump)长转移; CJNE (Compare Jump if Not Equal)比较不相等则转移; DJNZ (Decrement Jump if Not Zero)减1后不为0则转移; JZ (Jump if Zero)结果为0则转移; JNZ (Jump if Not Zero) 结果不为0则转移; JC (Jump if the Carry flag is set)有进位则转移;

相关文档
最新文档