微机原理与接口技术课件科大周荷琴课件

上传人:沈*** 文档编号:241803954 上传时间:2024-07-25 格式:PPT 页数:79 大小:2.90MB
返回 下载 相关 举报
微机原理与接口技术课件科大周荷琴课件_第1页
第1页 / 共79页
微机原理与接口技术课件科大周荷琴课件_第2页
第2页 / 共79页
微机原理与接口技术课件科大周荷琴课件_第3页
第3页 / 共79页
点击查看更多>>
资源描述
第四章第四章 汇编语言程序设计汇编语言程序设计4.1 概述4.2 汇编语言源程序的格式4.3 MASM中的表达式4.4 伪指令4.5 常用的DOS和BIOS调用4.6 汇编程序设计及举例4.1 概述概述三层语言结构:用来编写计算机程序的语言,即程序设计语言,包括机器语言、汇编语言和高级语言,分别位于三个层次。(1)机器语言机器语言是位于最底层的程序设计语言,是使用二级制代码表示的指令系统,用机器语言编写的程序称为“目标程序”难辨认、难记忆、易出错(2)汇编语言汇编语言汇编语言使用助记符来表示指令的操作码和操作数,使用标号和符号来代表地址、常量和变量,便于识别和记忆。汇编语言的一条语句对应一条机器语言指令。用汇编语言编写的程序,称为“汇编语言程序”,这种程序不能直接由计算机识别,需要通过一种起翻译作用的“汇编程序”将其翻译成机器语言,由计算机执行。缺点:使用汇编语言编写程序,必须要熟悉机器的指令系统、寻址方式、寄存器的设置和使用方法,它是一种面向机器的低级语言,不能被直接移植到其他类型的机器上。(3)高级语言)高级语言高级语言是一种面向问题或过程的语言,它独立于机器,其编写的程序是可以移植的。高级语言的一个语句相当于许多条汇编语言指令或机器语言指令。高级语言编写的程序也必须翻译成机器语言后才能执行。实现这种翻译的程序叫做“编译程序”,不同的语言有不同的编译程序。用汇编语言或高级语言编写的程序称为“源程序”。汇编语言或高级语言的程序处理过程:汇编语言或高级语言的程序处理过程:汇编语言或高级语言的程序处理过程:汇编语言或高级语言的程序处理过程:1、编辑汇编语言源程序(即建立.ASM文件)2、汇编为目标程序(即汇编为.OBJ,.LST,.CRF文件)3、连接为可执行程序(即生成.EXE文件)4、运行语言源程序结构:语言源程序结构:4.2 汇编语言格式汇编语言格式一、分段格式汇编语言程序按段编写,这样有利于用户按段组织程序和存放数据。用户所定义的不同段将被存放在内存的不同位置,有利于存储器管理。一个汇编语言源程序可以由若干个段组成,程序中的指令、数据以及堆栈都应当定义到具体的段中。汇编语言有两种类型语句,即指令和伪指令,前者属于指令性语句,后者属于指示性语句v指令性语句:指令,由汇编程序翻译成机器指令,在汇编过程中产生对应的目标代码 典型的汇编指令是:ADD AX,SIv指示性语句:为汇编程序提供一些信息,让汇编程序在汇编过程执行某些特定的功能,不产生目标代码 典型的伪指令是:COST DW?;定义一个字空间,并将标 识符COST指向该字空间 二、汇编语言语句的类型和组成二、汇编语言语句的类型和组成1、汇编指令格式标号:助记符 操作数,操作数 ;注释u标号是指为该指令所在地址取的名字,后面必须跟冒号“:”。标号是可供选择的标识符8086/8088汇编语言中使用的标识符必须遵循下列规则:标识符由字母(az,AZ)、数字(09)或下划线组成标识符必须以字母开头标识符有效长度为31个字符,若超过31个字符,则只保留前面的31个字符为有效字符标号:助记符 操作数,操作数 ;注释n指令助记符是指令名称的代表符号,是指令语句中的关键字,不能省略,它表示本指令的操作类型,必要时可在助记符前加一个或多个“前缀”n操作数是参加本指令运算的数据,有些指令不需要操作数,有些指令只需要一个操作数,有些指令需要两个操作数,需要用逗号隔开;有些操作数可以用表达式表示n注释为可选项,需用分号开头,便于阅读程序,汇编程序不对其进行任何处理2、伪指令格式名称 伪指令定义符 操作数 ;注释伪指令格式与指令格式有以下几点不同:l名称相当于指令语句中的标号,但在名称后不允许带冒号l伪指令定义符是由MASM规定的符号,又称汇编命令,不可缺省,如DB、DW、PROC等l操作数个数随不同的伪指令不同,有的伪指令不允许带操作数,有的允许带多个操作数三、汇编语言的数据三、汇编语言的数据1、常数指令中出现的固定值二进制:最后加字母B 例如:01000111B十进制:最后加字母D,D可以忽略 例如:1996或1996D八进制:最后加字母Q(或O)例如:2560Q十六进制:最后加字母H,如果以字母“AF”开头,前面加0 例如:0AH,0A342H132、变量变量通常指存放在存储单元中的值,在程序运行中是可以修改的。(1)段值(SEGMENT)(2)段内偏移地址(OFFSET)(3)类型(TYPE):指变量中每个元素包含的字节数3、标号标号是可执行指令语句的地址的符号表示,它可以作为转移指令和调用指令的目标操作数,以确定程序转向的目标地址,它也具有三个属性:段值、段内偏移地址、类型(指在转移指令中标号可转移的距离)144、保留字保留字是汇编语言中预先保留下的具有特殊意义的符号,只能作为固定的用途指令、伪指令。寄存器名等都是保留字5、注释从分号(;)开始,到本行结束15 4.3 MASM中的表达式中的表达式表达式由操作数以及运算符组成,在汇编时由汇编程序对它进行运算,运算结果作为一个语句中的操作数去使用。运算结果可以是一个常数字,也可以是一个存储器的地址。一、操作数:代表一个数据或一个地址数据:常数或变量地址:标号二、运算符1、算术运算符 2、逻辑运算符 3、关系运算符4、分析运算符 5、综合运算符 6、其它运算符16171、算术运算符 +-X /MOD SHL SHR可以对数据进行运算,运算结果仍然为数据,但对地址不能进行乘除运算。例如:20A1H+1040H 21H SHL 2 =84H182、逻辑运算符 AND OR NOT XOR l只能对常数进行运算,得到的结果也是常数l既可以作指令助记符,又可以作汇编语言的运算符l指令助记符是在程序执行时运算的,运算符是在汇编过程进行的例如:AND DX,PORT AND 0FEH 如果PORT值为90H,则相当于AND DX,90H 如果PORT值为81H,则相当于AND DX,80H193、关系运算符 EQ NE LT GT LE GE两个参加运算的数必须同是数值,或同是内存单元的地址,而结果总是一个数值。如果关系成立:其运算结果为0FFH或0FFFFH,否则,其结果为0例如:MOV DX,PORT LT 5 如果PORT小于5,相当于 MOV DX,0FFFFH 如果PORT不小于5,相当于 MOV DX,020关系运算符一般不单独使用,而是和逻辑运算符结合起来使用例如:MOV BX,(PORT LT 5)AND 20)OR (PORT GE 5)AND 30)当PORT小于5时,相当于MOV BX,20当PORT大于或等于5时,相当于MOV BX,30214、分析运算符(数值返回运算符)OFFSET SEG TYPE SIZE LENGTH(1)OFFSET:取变量或标号的偏移地址值格式:OFFSET 变量或标号(2)SEG:取变量或标号的段基址格式:SEG 变量或标号(3)TYPE:返回变量的类型属性或标号的距离属性格式:TYPE 变量或标号 A1 DB 20H,30H A2 DW 0438HL1:MOV AH,TYPE A1 MOV BH,TYPE A2 MOV BL,TYPE L1(4)LENGTH:当变量中使用DUP时,LENGTH返回此变量所包含的单元数,对其它变量则返回1格式:LENGTH 变量22M1 DW 100 DUP (?)M2 DW 1,2,3M3 DB A B C D MOV CX,LENGTH M1 MOV BL,LENGTH M2 MOV AL,LENGTH M3(5)SIZE:返回变量包含的字节数格式:SIZE 变量SIZE=LENGTH*TYPE2324例如:ABC DW 100 DUP (?)OFFSET:求偏移地址 MOV DX,OFFSET ABCSEG:求段基址 MOV AX,SEG ABC MOV DS,AXTYPE:求标识符类型值LENGTH:求为标识符分配的项数SIZE:求为标识符分配的字节数 TYPE ABC ;等于2 LENGTH ABC ;等于100 SIZE ABC ;等于200255、综合运算符(修改属性运算符):段操作符、PTR、THIS、HIGH、LOW、SHORTPTR:定义某内存单元类型 格式:类型 PTR 变量/标号例如:MOV AX,WORD PTR D1 ;定义D1指向的内存单 元为字单元 MOV BYTE PTR 1000H,0 MOV WORD PTR 1000H,0PTR通常和伪指令BYTE、WORD等合用26THIS:指定新类型 格式:变量/标号 EQU THIS 类型/距离将EQU THIS右边的类型/距离属性,赋给左边的变量/标号,该变量或标号的段地址和偏移地址与下一个存储单元的地址相同例如:LABC EQU THIS BYTE LABD DW 4321H,2255H MOV AL,LABC ;AL=21H MOV AX,LABD ;AX=4321HLABC和LABD具有相同的段地址和偏移量,但LABC是字节类型,LABD是字类型。27SHORT 标号 SHORT用来说明转移类指令中转向地址的属性,指出转向的目标地址与本指令之间的距离在-128+127之间,即限制在短转移范围内LOW 变量或标号 ;取低字节 HIGH 变量或标号 ;取高字节 MOV AL,LOW 3080H ;AL=80H MOV AX,HIGH 3A4BH ;AH=3AH6、其他运算符其它运算符有(),MASK和WIDTH等六种圆括号():用来改变运算符的优先级别,()中的运算符具有最高优先权方括号 :主要用来表示地址表达式或多重变量的下标值尖括号及原点:在结构中专用MASK和WIDTH:在记录中专用2829数据定义伪指令:DB DW DD DQ DT存储单元类型定义伪指令:BYTE WORD DWORD符号定义伪指令:EQU =段定义伪指令:SEGMENT ENDS ASSUME ORG过程定义伪指令:PROC ENDP NEAR FAR程序结束伪指令:END简化段定义伪指令:MODEL CODE DATA STACK 4.4 伪指令伪指令301、数据定义伪指令:DB DW DD DQ DT用来定义存储单元的符号名,并初始化该单元或该单元开始的若干连续单元,初始化可以采用确定值,也可以采用不确定值DB(Define Byte)格式:符号名 DB 表达式中的值或项表中的每一项定义为一个字节数,它们从符号名地址开始按字节连续存放,直到表中数据项结束(地址递增方向),表达式的值或项对应小于8位2进制数表示的最大值例如:FIRST DB 3,18,25H,ABC SECOND DB?THIRD DB 9 DUP (?)31DW (Define Word)格式:符号名 DW 表达式的值或项表中的每一项都是两个字节数,应小于16位二进制数表示的最大值例如:DON DW 10 DUP (?);在内存中留出10个空单 元,其中每项都是2个字节32DD:定义双字DQ:定义4个字DT:定义10个字例如:N1 DD 2.5,3.2E+2DD可以用来定义有小数点的十进制数或用科学计数法表示的数据,小数在汇编时被译成四字节浮点数,尾数在低地址一端,阶码在高地址一端DQ和DT也允许浮点数形式 COUNT DT?;在内存中留出1个空单元,其中每项都是10个字33举例:S1 DB ABCDEF S1 DB A,B,C,D,E,F S2 DW AB,CD,EF S3 DD AB,CD34带DUP的表达式,DUP是定义重复数据操作符例:DB1 DB 10H DUP (?)DB2 DB 10H DUP (ABCD)DB3 DB 2H DUP (0,2,?)第一个语句表示保留10H个字节,第二个语句表示重复10H个字符串“ABCD”,共占40H个字节,第三个语句是重复2H个数字串和空单元 35注意数据定义与引用时,要保证数据类型的正确性举例:数据定义:D1 DB 3 DUP (12H)引用:MOV AX,D1 ;引用错误 MOV AX,WORD PTR D12、符号定义伪指令、符号定义伪指令 EQUEQU伪指令用来对标号赋值,使标号等于数值或标号等于标号格式:EQU EQU 例如:ABC EQU 220 XYZ EQU ABC COUNT EQU CX同一个标号不能被两次赋值,除非先清除标号的原值,与EQU相对应的清除指令:PURGE PURGE ABC ;清除对ABC的赋值362、符号定义伪指令、符号定义伪指令=用来对标号赋值,使标号等于数值格式:=例如:ABC=10 ABC=ABC-1373、段定义伪指令、段定义伪指令 SEGMENT ENDS AEEUME ORGSEGMENT ENDS 成对出现,定义段格式:段名 SEGMENT 段的内容 段名 ENDS段名为用户自定义的标号,可以为任何有效的标识符例如:DATA-SEG SEGMENT DATA-SEG ENDS CODE-SEG SEGMENT CODE-SEG ENDS383、段定义伪指令、段定义伪指令ASSUME:用于指定用户定义的哪一个段为数据段、代码段和堆栈段。对DS、SS只知道段基址,而实际值要在程序中使用传送命令来具体赋值。例如:ASSUME CS:CODE-SEG,DS:DATA-SEG该指令指出CODE-SEG的段地址在CS中,DATA-SEG的段地址在DS中,但并没有把段地址装入相应的段寄存器,因此除了CS以外(CS通过在启动代码段时由段间转移装入),将段地址装入相应寄存器的工作必须通过MOV传送指令完成。39举例举例例如:CODE-SEG SEGMENT ASSUME CS:CODE-SEG,DS:DATA-SEG,SS:STACK-SEG START:MOV AX,DATA-SEG MOV DS,AX MOV AX,STACK-SEG MOV SS,AX CODE-SEG ENDS说明:段名可以是任意的自定义标识符DS、SS的段地址值需要传送指令获得40实现两个实现两个16位二进制数的相乘位二进制数的相乘41424、过程定义伪指令、过程定义伪指令 PROC、ENDP、NEAR、FARPROC、ENDP成对出现,用于定义过程,即子程序格式:过程名 PROC NEAR(或FAR 过程的内容 过程名 ENDP过程名为用户自定义的标号,定义过程是为实现子程序调用而设的调用格式为:CALL 过程名过程由RET指令返回,它可以不是最后一条指令,在过程中可以设置多点返回。434、过程定义伪指令、过程定义伪指令过程调用可分为段内调用和段间调用:段内调用和段间调用由被调用子程序头部的FAR或NEAR伪指令指出,NEAR可以省略段内调用和段间调用的返回指令助记符都是RET,但执行的操作不同,段内调用时汇编程序对RET产生指令编码C3H,实现段内返回;段间调用时汇编程序对RET产生指令编码CBH,实现段间返回44例子:多字节的例子:多字节的BCD码相加码相加45465、源程序结束伪指令、源程序结束伪指令 END格式:END 标号476、简化段定义伪指令、简化段定义伪指令(1)存储模式定义伪指令 .MODEL格式:.MODEL uTINY:微型,其代码和数据位于一个段内(=64KB),一般用于编写.COM程序uSMALL:小型,代码在一个段内(=64KB),数据在另一个段内,在这种存储模式下,数据段寄存器可保持不变,所有转移都可以认为是段内转移uCOMPACT:紧凑型,代码在一个段内,有任意个数据段,没有大于64KB的数组uLARGE:大型,代码与数据均占用任意个段,没有大于64KB的数组48(2)段定义伪指令 .CODE,.DATA和.STACK简化段定义伪指令说明一个段的开始,同时也表示上一个段的结束。伪指令END则说明最后一个段地结束和程序的结束49例:简化段定义的源程序示例,用于显示字符串例:简化段定义的源程序示例,用于显示字符串“HELLO”504.5 DOS的软件中断和系统功能调用的软件中断和系统功能调用MC-DOS是IBMPC系列计算机上最普遍的操作系统,它采用层次化模块结构,由一个引导程序BOOT和3个层次模块组成。这3个模块分别是:输入输出模块IO.SYS、文件管理模块MSDOS.SYS和命令处理模块COMMAND.COMMS-DOS从两个层次上为用户提供了访问接口。一般用户可以通过键盘命令在命令处理模块层次上进行访问;高级用户则可以通过软件中断和系统功能调用在文件管理模块层次上进行访问。511、MS-DOS常用软件中断常用软件中断52MS-DOS的主要系统功能都使用中端处理程序的形式来提供这些软中断隐蔽了设备的物理特性和接口方式,调用时首先设置好入口参数,即可转去执行相应的子程序系统功能调用专指类型为21H的软中断,包含多个功能程序,每个子程序对应一个功能号。531、MS-DOS常用软件中断常用软件中断5455INT 10H ;显示器设置INT 13H ;磁盘驱动INT 16H ;键盘驱动INT 17H ;打印机驱动INT 14H ;异步通讯设备驱动INT 1AH ;系统时间设置和读取MS-DOS的主要系统功能都是使用中断处理程序的形式来提供的。这些软中断隐蔽了设备的物理特性和接口方式,调用时首先设置好入口参数,即可转去执行相应的子程序。系统功能调用:系统功能调用:系统功能调用专指类型为21H的软中断,包含多个功能程序,每个子程序对应一个功能号。INT 21H为系统功能调用,其功能号在AH中 AH=01 ;键盘输入 AH=02 ;键盘输出 AH=03 ;串口输入 AH=04 ;串口输出 AH=05 ;打印机输出 AH=08 ;键盘输入(无回显)AH=09 ;显示字符串 AH=0A ;输入字符串 AH=4C ;返回操作系统56(1)、)、1号功能调用(键盘输入并显示单字符)号功能调用(键盘输入并显示单字符)1号功能调用:从键盘输入字符并显示格式:MOV AH,1 INT 21H执行上述命令后,系统扫描键盘等待有键按下,若有键按下,就将键值(ASCII码)读入,先检查是否为Ctrl-Break键,若是就自动调用中断INT 23H,执行退出命令,否则将键值送AL寄存器并在屏幕上显示此字符57例题例题KEY:MOV AH,1 INT 21H CMP AL,Y JE YES CMP AL,N JE NO JMP KEYYES:NO:58(2)、)、0AH功能调用:输入字符串功能调用:输入字符串调用INT 21H的A号功能,其功能是将键盘输入的字符串写入到内存缓冲区,因此事先必须要定义一个缓冲区。DX为缓冲区的首地址,缓冲区的第一个字节指出能容纳的最大字符个数,由用户给出;第二个字节存放实际输入的字符个数,由系统最后填入;从第三个字节开始存放从键盘接收的字符,直到回车键结束若实际键入的字符数大于给定的最大字符数,则后面输入的字符丢失;若输入的字符数小于给定的最大字符数,缓冲区其余部分填0,0AH功能调用时,要求将DS:DX指向缓冲区第一个字节59 MAXLEN DB 32 ACTLEN DB?STRING DB 32 DUP (?)LEA DX,MAXLEN MOV AH,0AH INT 21H 60(3)、)、2号功能调用:单字符输出号功能调用:单字符输出格式:MOV DL,MOV AH,2 INT 21H将置入DL寄存器中的字符从屏幕上显示输出在屏幕上显示“3”MOV DL,33H MOV AH,2 INT 21H61(4)、)、9号功能调用:字符串输出号功能调用:字符串输出将指定的内存缓冲区中的字符串从屏幕显示输出(或从打印机打印输出),缓冲区的字符串以“$”结束,DS:DX为串的首地址。62MESSAGE DB How are you!$MOV DX,SEG MESSAGEMOV DS,DXMOV DX,OFFSET MESSAGEMOV AH,9INT 21H (5)控制输入)控制输入/输出单字符输出单字符如果DL=0FFH,表示从键盘输入单字符送AL寄存器;如果DL0FFH,将指定的内存缓冲区中的字符串从屏幕上显示输出(或从打印机打印输出),缓冲区的字符串以$结束。DS:DX为串的首地址。MOV DL,0FFH MOV AH,6 INT 21H MOV DL,A MOV AH,6 INT 21H634.6 汇编程序设计及举例汇编程序设计及举例进行汇编语言程序设计可以参考下述过程:(1)分析问题,建立基于问题的数学模型(2)设计算法(3)绘制流程图或结构图(4)编写程序(5)上机调试64汇编语言程序设计采用结构化程序设计方法,其基本结构包括:u顺序结构u分支结构u循环结构651、顺序结构、顺序结构顺序结构是最简单的一种程序结构,程序将按语句顺序执行。例如:将输入的大写字符转换成小写字符输出.MODEL.STACK 200H.DATA S-INPUT DB PLEASE INPUT AZ:$S-OUT DB 0DH,0AH,CONVERT RESULT :$.CODE66START:MOV AX,DATA MOV DS,AX MOV AH,9 LEA DX,S-INPUT INT 21H MOV AH,1 INT 21H PUSH AX MOV AH,9 LEA DX,S-OUT INT 21H POP AX MOV DL,AL ADD DL,20H MOV AH,2 INT 21H MOV AX,4C00H INT 21HEND START672、分支程序、分支程序68要求计算机作出判断,根据判断结果作出不同处理例:比较两个无符号数的大小,把大数存入例:比较两个无符号数的大小,把大数存入MAX单元单元DATA SEGMENT SOURCE DB 0AAH,0B2H ;定义两个无符号数 MAX DB?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,SOURCE ;X1送AL CMP AL,SOURCE+1 ;X1-X2 JNC BRANCH ;若X1X2,转BRANCH MOV AL,SOURCE+1 ;否则,X2送ALBRANCH:MOV MAX,ALCODE ENDS END START693、循环程序、循环程序循环程序一般由初始化、循环体、循环控制和循环结束处理几部分组成。例:编写程序完成DATA SEGMENT BUF DW a1,a2,a10 SUM DW?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AX,070 MOV DI,OFFSET SUM MOV BX,OFFSET BUF MOV CX,10LOP:ADD AX,BX INC BX INC BX DEC CX JNZ LOP MOV DI,AX MOV AX,4C00H INT 21HCODE ENDS END START 714、子程序、子程序(1)子程序调用和返回子程序调用:CALL 子程序名分为段内调用和段间调用,直接调用和间接调用子程序返回:RET或RET n执行CALL指令时自动压栈返回地址,执行RET指令把压栈的返回地址弹出送IP或CS:IP(段间返回)(2)现场的保护与恢复如果需要则可以保存标志寄存器和其他寄存器的值72(3)参数的传递:指主程序和子程序之间相关信息或数据的传递传递的方式有:寄存器、内存单元和堆栈三种(4)子程序的嵌套和递归调用子程序调用子程序的过程称为嵌套调用;子程序调用自身的过程称为递归调用。73例:延时子程序例:延时子程序DELCH PROC FARDELAY:PUSHF PUSH CX MOV CX,176H LP1:LOOP LP1 POP CX POPF RETDELCH ENDS74课后练习课后练习1、有如下定义语句:DATA1 EQU 62H DATA2 EQU 20H DATA3 EQU 5求下列各表达式的值DATA1*DATA3(DATA1+10)*(DATA3-10)DATA1/DATA3DATA1 MOD DATA3DATA1 AND DATA2DATA1 OR DATA2(DATA2 GED DATA3)OR (DATA3 GE DATA1)752、以标识符DATA开始的连续八个单元中依次存放数据10H,20H,30H,40H,50H,60H,70H,80H,请分别使用数据定义伪指令DB、DW、DD进行定义3、画图说明下列数据定义语句在内存中的分配:a)VAR1 DB 10H,06H,HELLO!,2 DUP (?,10,20)b)VAR2 DW HE,LO,6210H,2 DUP (0,1)764、设置一个数据段DATASEG,其中包含以下数据定义:(1)STRING为字符串“Hello World!”(2)DATA1为字变量,初值为62H,0AH,25,0DH(3)DATA2为字变量,初值为100,0A090H,2 DUP(5AH,6AH)(4)LEN是以上存储单元的字节数5、数据段有如下定义:BUFA DB 4,5,3,453 BUFB DB 0 LTH EQU BUFB-BUFA请问LTH的值是多少?776、数据段有如下定义:DATA1 DB ABCDED,4 DUP (?)DATA2 DW AB,CD,1020H,50H DATA3 DW 10 DUP (?)执行下列指令后,目的操作数分别是多少?MOV AX,TYPE DATA1/DATA2/DATA3MOV AX,LENGTH DATA1/DATA2/DATA3MOV AX,SIZE DATA1/DATA2/DATA3787、数据段有如下定义:STR DB 41H,42H,43H,44H执行下列指令后,目的操作数分别是多少?MOV AL,STRMOV AL,BYTE PTR STRMOV AX,WORD PTR STRMOV AX,WORD PTR STR+179
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!