收藏 分销(赏)

电脑书籍]汇编语言教程.doc

上传人:xrp****65 文档编号:7725059 上传时间:2025-01-14 格式:DOC 页数:146 大小:496.50KB 下载积分:10 金币
下载 相关 举报
电脑书籍]汇编语言教程.doc_第1页
第1页 / 共146页
电脑书籍]汇编语言教程.doc_第2页
第2页 / 共146页


点击查看更多>>
资源描述
汇编语言程序设计自学教程 [美]Mark Goodwin 著 周予滨田学锋译 王 勇 校 水利电力出版社 1 995 (京)新登字11 5号 . 内窖摄要 汇编语育是重要的计算机低镀培育.本书以简捷的语盲风格剖析丁汇 编语育程序的基奉精柯.救据表示法、指奇集、饽指夸,操作符和寻址方 式·介绍了汇绾语言的齄据结构.包括结拇.记录、宕.堆栈.奉书着重 讲■了i亡壤语言程序设计的基奉蔓采和高级的结构化程序设计方挂. 车:81R使请者在IIiifl9时闻由学台忙尊语言程序设计.并且养成结构 化蝙程盼好习惯.为夸后进一步学习奠定垒宴的基稿。奉书既可作为广大 计算机用户和高,中等学校师生的参考书.也可怍为初学者的^门书. 本书英文版由美国MISt PRESS公司出版。本书的中文版于l994年9月经美国远东图书 公司(Far East Books,USA)授权水利电力出版社在华独家出版。未经出版者许可,任何人 不得以任何形式、手段复制或抄袭率书的内容。 率书的中文裔译、审校及文字处理工作,由美田远东图书公司完成。 Copyright@1 993 by MIS:PRESS ┏━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ ┃书 名 ┃汇嫱语富程序设计自掌蕾程 ┃ ┃作 者 ┃[美]Mark Goodwin著 ┃ ┃译 校 者 ┃周予捷田学锋译 王勇校 ┃ ┃出版,发行 ┃水利电力出版社(北京三里河路6号) ┃ ┃ ┃各地新华书店经售 ┃ ┣━━━━━━╋━━━━━━━━━━━━━━━━━━━━━┫ ┃排 版 ┃五环出版服务部 ┃ ┃印 刷 ┃北京市朝阳区小红门印刷厂 ┃ ┃规 格 ┃78'1×1∞2衄16开本ll.5印张260千宇 ┃ ┃版 次 ┃1995年1月第一艇l995年1月北京第一次印刷。 ┃ ┃印 数 ┃0001—5000册 ┃ ┃定 价 ┃盯.呻元(古蠢盘) ┃ ┃书 号 ┃Ⅱ;BN 7—120-0,,175—3/TP·85 ┃ ┗━━━━━━┻━━━━━━━━━━━━━━━━━━━━━┛ 引 言 引 言 在计算机发展的早期,编程方法只有一种——机器语言编程。计算机先驱们很快就认 识到机器语言编程很不方便,因此他们设计了一种以符号名称代表机器语言指令的编程语 言。他们称这种符号表示的编程语言为汇编语言(assembly language)。继汇编语言在前进 的道路上迈进了一步之后,计算机设计者叉开发了诸如Fortran和COBOL等高级语言 (high—level language),极大地简化了用户的编程工作。 现代计算机程序员可以使用的语言非常丰富。许多人喜欢C或Pascal。然而·还有许 许多多其它语言(包括汇编语言在内)被广泛地使用。虽然目前完全使用汇编语言编写的 应用程序很少见,但是一些忠实的汇编语言程序员不会放弃选用汇编语言的机会。更常见 的是.程序员在高级语言中融入汇编语言以加速某些与时间相关的倒程。而本书的日的正 在于此。本书假设读者熟悉一种高级语言.如C或Pascal,并希望学习使用汇编语言增强 高级语盲程序柏方法。虽然有优秀的优化编译器可以使用,但是,一些要求执行速度的过 程只能通过精心制作的汇编语言代码来实现。另外,熟悉计算机可以帮助读者写出高效率 的高级语言程序,理解计算机的实际操作。 本书讲授内容 。 本书_传授了使用亍[编语言编程的方法,书中涉及了汇编语言所有的基本特性,包括: ·汇编语言程序的要素 ·8088体系结构 ·数据表示法 ·伪指令和操作符 ·8088指令集 ·寻址方式 ·汇编语言中的字符串处理 ·结构化编程技术 ·结构和记录 ·堆栈 ·过程 . ·输入输出 ·条件汇编 ·等价和宏 ·用于增强C程序的汇编语言倒程 .用于增强Pascal程序的忙编语言例程 I 汇编语言程序设计自学教程 本书不讲授的内窖 本书不详细解释{仁编语言编程的每一个细枝末节。这些细节应从汇编软件包附带的参 考手册中得到。另外。本书也不讨论大量华而不实的算法。如果读者是一位有经验的程序 员,就一定知道如何利用计算机程序达到自己的日的。本书只包含一些程序框架,而不是 大量的完整程序示范,每处只讲解一点汇编语言编程知识。在本书结束时,读者可把这些 点滴片段联系起来组成自己的汇编语言程序。 使用本书必备 需要一台IBM PC或兼容机及Turbo Assembler或者Microsoft Macro Assembler。 弓l 言 目 录 第一章8088;[绾语言程序设计…………………….………………………………。(1) 1.1机器语言………………………………………………………………………(1) 1.2汇编语言………………………………………………………………………(1) l_3程序的组成部分………………………………………………………………(2) 1.4一个汇编语言程序范例………………………………………………………(3) 1.5汇编First程序………………………………………………………………(6) 1.6,J、结……………………………………………………………………………(9) 第=章8088体系结构…………………………………………………………………(1 0) 2.1存储单元………………………………………………………………………(1 0) 2.2 8088寄存器组…………………………………………………………………(1 3) 2.3计算机存储器…………………………………………………………………(1 6) 2.4输入和输出……………………………………………………………………(1 7) 2.5小结……………………………………………………………………………(1 7) 第兰章t据表示法…………………………………………………………………….一(1 8) 3.1二进制数字……………………………………………………………………(1 8) 3.2十进制数字系统…………………·…………………………………………”(1 9) 3.3十六进制数字系统……………………………………………………………(1 9) 3.4,正数和负数……………………………………………………………………(20) 3.5布尔运算符……………………………………………………中……………(22) 3.6以二进制编码的十进制………………………………………………………(2 3) 3.7浮点数…………………………………………………………………………(23) 3.8字符和字符串…………………………………………………………………(z3) 3.9小结……………………………………………………………………………(z4) 第四章使用t据工作……………………………………………………………………(25) 4.1 伪指令…………………………………………………………………………(2 5) 4.2运算符…………………………………………………………………………(z 9) 4.3位置计数器……………………………………………………………………(4 2) 4.4,J、结……………………………………………………………………………(4 2) 第五章鲫髓指令集……………………………………………………………………(4” 5.1汇编语言指令……………-…………………………………………………”(4 3) 5·2数据传送指令…………………………………………………………………(4 3) 5.3算术指令………………………………………………………………………(4 7) 5-4数据转换指令…………………………………………………………………(5 4) 5·5布尔指令………………………………………………………………………(5 8) 5.6循环和移位指令………………………………………………………………(6 1) 5.7 比较指令………………………………………………………………………(6 8) 5.8跳转指令………………………………………………………………………(6 9) 5.9重复指令………………………………………………………………………(84) 5·10其它指令………………………………………………………………………(8 7) 5.11小结……………………………………………………………………………(90) 第六章寻址方式…………………………………………………………………………(9 1) 6.1立即寻址方式…………………………………………………………………(91) 6.2寄存器寻址方式………………………………………………………………(9 1) 6.3直接存储器寻址方式…………………………………………………………(92) 6.4间接存储器寻址方式…………………………………………………………(9 3) 6.5小结……………………………………………………………………………(9 6) 第七章结构化穗序设计…………………………………………………………………(9 7) 7.1顺序控制……………………………………………………………………… 7.2选择控制……………………………………………………………………… 7.3重复控制……………………………………………………………………… 7.4 小结……..……………………………………………·-j……………………· (9 7) (9 8) (9 9) (101) 第八章字符串……………………………………………………………………………(102) 8.1 Movs、MoVSB和M0哪指令………………………………………… 8.2 LOD8、LoDSB和LoD8W指令…………………………………………… 8.3 STOS、SToSB和吣W指令…………………………………………… 8.4 CMPS、CMPsB和CMPSW指令………………………………………… 8.5 ScAs、scAsB和SCAsW指令………………………………………- &6小结…………………………………………………………………………… (102) (105) (107) (110) (114) (117) 第九章结构和记录………………………………………………………………………(118) 9.1结构 9.2记录 9.3小结 (118) (121) (125) 第十章堆栈………………………………………………………………………………(126) 10.1堆栈……………………………………………………………………………(126) i0.z往堆栈中置数和从堆栈中取敬………………………………………………(12Z) 10.3标志和堆栈……………………………………………………………………(128) 10·4小结……………………………………………………………………………(128) 第十一章过程……………………………………………………………………………(129) 11.1一个汇编语言过程…………………………………………………………… 11.2 1崔接…………………………………………………………………………… 11.3从过程返回…………………………………………………………………… 11.4参数…………………………………………………………………………… 11.5 d、结…………………………………………………………………………… (129) (129) (130) (131) (134) 第十=章端口……………………………………………………………………………(135) 12.1 IN指令……………………………………………………………………… 12.2 0UT指令…………………………………………………………………… 12.3 INS、1NSB和INSW指令………………………………………………… 12.4 REP前缀…………………Dooiooiol94miomool………………………………… 12.5 0UTS、OUTSB和oU哪r指令………………………………………… 12.6 REP黼…………………………………………………………………… 12.7一、结…………………………………………………………………………… (135) (135) (136) (138) (139) (141) (142) 第十三章中断…………一………………………………………………………………(143) 13.1 8088中断…………………………………………………···……”………- 13.2中断处理程序………………………………………………………………… 13.3激活和关闭中断……………………………………………………………… 13.4一、结…………………………………………………………………………… (143) (144) (146) (146) IH-四章来件汇蕾………………………………………………………………………(147) 14.1 IF—ENDIF条件伪指夸……………………………………………………… “.2 IF…ELSE…ENDIF条件伪指令…………………………………………… 14.3 IFDEF…ENDIF条件伪指令………………………………………………… 14.4 IFNDEF…ENDIF条件伪指令……………………………………………… 14.5小结………………………………………………………………………”““ (147) (148) (149) (149) (150) 第十五章等价与宏………………………………………………………………………(151) 15.1不可重复定义的数值等价……………………………………………………(151) 15.2可重复定义的数值等价………………………………………………………(152) 15.3字符串等价………………………………………………………”“………¨(152) 15.4宏………………………···……………………………………………………(153) 15.5局部标号………………………………………………………………………(154) 15.6重复块…………………………………………………………………………(155) 15.7退出宏…………………………………………………………………………(159) 15.8&操作符………………………………………………………………………(159) 15.9<>操作符…………………………………………………………………(160) 15.10 1操作符…………………………………………………………………… 15.11%操作符…………………………………一……………………………… 15.12宏注释……………………………………………………………………… 15.13小结………………………………………………………”…···…………- (161) (161) (162) (163) 第十六章汇■语言与c和c++的接口 ……………………………………………(164) 16.1函数和变量名………………………………………………………………… 16.2参数传递……………………………………………………………………… 16.3返回调用程序……………………………………………………………·…·· 16.4局部变量空间………………………………………………………………… 16.5,J、结…………………………………………………………………………… (164) (165) (166) (168) (169) IH一七章汇鳙语盲与]Pascal的接口…………………………………………………(170) 17.1函数名和变量名……………………………………………………………… 17.2参数传递……………………………………………………………………… 17.3返回调用程序………………………………………………………………… 17.4局部变量空间………………………………………………………………… 17.5小结……………·!……………………………………………………………- (170) (171) (172) (174) (175) 第一章8088{f-编语言程序设计 第一章8088汇编语言程序设计 学习汇编语言编程有助于编写用于增强高级语言程序的高效代码。本章通过讲解一个 示倒程序厦以下内容开始忙编语言的编程学习: ·机器语言 ·汇缩语言 ·8088忙编语言程序组成部分 ·程序汇编 ·程序执行 1.1 机器语 言 在开始汇编语言编程的学习之前,必须了解机器语言编程。顾名思义.机器语言编程 由计算机本身的语言完成。一台诸如PC;或兼客机的数字计算机只明白两种不同的状态:关 和开。这两种数字状态通常以二进舸数字0和1表示。而且,一位二进糊散字习惯称之为 一个位(bit)。机器语言程序的表达式就由这些位串组成。这些位串被称为位模式(bit pat— terns)。下行表示~个机器语言位模式: 1 01 1 100000000101 00000000 这些机器语言位模式代表指令、数据和指令数据的地址i上面位模式的前8位代表 8088机器语言指令。后l6位代表一个数据值。下例说明计算机是怎样看待上连模式的: 1 01 1 1000 0000010100000000 mov 丑x 3 如上倒所示,位模式的前8位命令计算机把指令后面的l6位数字送到名叫AX的存储 单元。这些存储单元叫寄存器(registers)。在上述指令中,机器语言指令命令CPU在AX 寄存器中存放数值3。 虽然机器语言很吸引人,但毕竟太难以理解。因为.一个机器语言程序可以由大量位 模式组成,面记住各种位模式完成的功能。即使是最优秀的程序员也会感到困难。为了以 更容易理解的方式表示这些机器语盲指令,早期的程序设计者发明了一种使用语言表示机 器语言指令的方法,这种语言就是汇编语盲(assembly language)。 1.2汇编语言 在忙编语言中.机器语言指令的专用名称为助记符(mnemonics)。另外,数据可以用 数字值(倒如5,16,Obfh,33,555.1)或者符号名称(倒如MAX,count,line,或 2 汇编语言程序设计自学教程 RESULT)表示。下倒说明了怎样使用汇编语言表达式表示机器语言位模式的: mov ax,3 至少可以这么说,上述的汇编语言语句比相应的机器语言位模式好记得多。遗憾的是, 计算机不知道上述汇编语言语句的含义。为把上述语句翻译成计算机能够理解的格式,必 须使用汇编程序。汇编程序只是把汇编语言程序语句翻译成等价的机器语言位模式。 1.3程序的组成部分 8088汇编语言程序由下列四个基本部分组成; 代码段 数据段 标号 注释 1.3.1代码段 实质上,代码段(code segments)是包含指令的程序部分,这些指令完成各种任务,诸 如传送数据、控制程序流程、实现算术运算功能等等。每条汇编语言指令由两个基本部分 组成t操作符(operation)和操作数(operands)。下倒说明了指令mOv ax,3的组成: 操作符 n1_D、r 操作数 ax,3 上倒表明。助记符mov命令CPU传送一个数据。操作数ax,3告诉CPU要传送的数 据是3,羹送到AX寄存器。尽管所有的汇编语言指令都需要操作符,但不一定需要操作数- 倒如,下列语句命令8088 CPU忽略所有的可屏蔽中断: cli 1.3.2数据段 虽然代码段是必不可少的部分.但是几乎所有的8088汇缩语言程序都至少需要一个数 据段。数据段是忙编语言程序存放敦据的部分。例如,一个需要3个16位变量(a·。b,c) 的程序要求如下数据段: B b C dw dw dw 3 4 7 上述浯旬中的三十dw是汇编伪指令(assembler directives),指示汇编程序定义三个 字。对于8088,一个字是16位长。因此,上面的三个语句定义所需的三个l6位变量-16 位存储单元a中存放数值3,16位存储单元b中存放数值4,而l6位存储单元c中存放不 定值。实质上,上述数据段中的?告诉汇编程序l6位存储单元c未定义·因此,并没有把 第一章8088汇编语言程序设计 3 c假设成任何特定值。 1.3.3标号 上述示例数据段中的符号名a、b和c是汇编语言标号(1abels)的一个极好实例。除了 用作变量名以外.汇编语言标号还可用作名称,倒如段名或过程名。合法的8088汇编语言 标号由教字、字母和字符?、.、@一、和$组成。另外,名称不能以敷字打头.点号(.)只 能用作标号的第一十字符。标号的长度不限,但只有前31个字符有效。除非标号用于连接 汇编伪指令,否则后面必须跟一个分号(:)。 1.3.4注释 汇编语言程序的第四部分是注释(comment)。顾名思义,注释描述程序所做的工作而 并不影响程序的实际操作。虽然注释看起来不是必需的,但它们是任何程序的一十重要组 成部分。通常在以后程序员需要调试或修改程序时,利用注释会明显地减少重新读懂完成 某些功能的程序所需的时间。在8088汇编语言程序中,编写注释只需以分号(})开头即 可。下例列举了一些汇编语言注释: mov ax,3 l AX iS set t0 3 I Tl”previous instruction sets register AX t0 3 1.4一个汇编语言程序范例 下面的倒子列举了一个非常短小的8088汇编语言程序。虽然相当简单,但是它指出了 组成一个忙编语盲程序的要素。首先,查看下面的程序。然后逐行解释同一程序。 first.asm—A first assembly language program Code s egment _TEXT segment word public‘CODE。 assume c6:』EXT.d宕:』ATA.ss:STACK :Add addem tw0 16 bit values Proc far mov ax.DATA mov ds。ax 皿oV aX.a add ax.b mOV C.aX :Entry point from DOS :Point the data segment :register to the data: degment :AX=a :AX=a+b :c=a+b 4 汇编语言程序设计自学教程 mOV ax.也C00h int 21h addem endp —TEXT ends ● :Data segment ● _DATA segment a dw 3 b dw 4 c dw ? _DATA endS :AX—NO error return :Code :Return to DOS word publiC‘DATA’ : ;Stack segment —STACK segment para stack。STACK’ ST^CK db l28 dup(?) end鱼 end addem :Defines the entry point I first.asm—A first assembly language program 是一个注释,它给出了程序名first.ssm,并简要说明丁程序用途。 }. }Code segment I 说明后面是代码段。 TEXT segment word public'CODE’ 表明CODE(代码)段开始,并为恢段指定标号一TEXT。 assume c8:一TEXT,d5:一DATA,ss:一STACK assu掘e是一个汇编程序伪指令,它向汇编程序通报8088段寄存器所指向的段·在此· 汇编程序。假设一8088代码段寄存器CS指向一TEXT段,数据段寄存器DS指向一DATA 第一章8088;I-编语言程序设计 5 段.堆栈段寄存器SS指向一STACK段。注意,这些都是从汇编程序角度而言的假定。实 际上,段寄存器可能指向指示的段,也可能指向别处。 , ;Add tW0 1 6一bit values } 说明后继过程的用途。 addem proc far l Entry point from DoS 表明过程addem开始。而且过程是远(far)谓用。 mov ax·一DATA ;Point the data segment 把DATA段地址送入寄存器AX。 mov ds-ax I register to the data ;segment 设置8088数据段寄存器指向一DATA段。由于first.asm是DOS EXE程序,因此DOS自 动设置8088代码段寄存器指向一TEXT段,而堆栈段寄存器指向程序上端的一STACK段。 然而,8088数据段寄存器的相应值必须由程序手工设置。 mov ax,a ;AX—a 把存放在符号名为a的存储器单元中的值进入寄存器AX。 add ax,b}AX—a+b 寄存器AX中的值加上存放在符号名为h的存储器单元中的值。注意,相加的结果保留在 AX中。 mov c,ax ;c—a+b 在符号名为C的存储器单元中存放相加运算的结果。 mOV ax.4cOOh ;AX—No error return code int 21 h ;Return tO DOS 把程序控制还给MS—DOS。 addem endp 告知忙编程序过程addem已经结束。 —.TEXT ends 告知汇编程序一TEXT段已经结束。 I ;Data segment I 6 汇编语言程序设计自学教程 说明后继段是数据段。 一DATA segment word publie ‘DATA' 表明DATA(数据)段开始并为该段指定标号一DATA。 a dw 3 ’ 指示汇编程序留出一个l6位字的空间,初始值为3.符号名为a。 b dw 4 指示汇编程序留出一个l6位字的空间,初始值为4,符号名为b。 C dw ? 指示汇编程序留出一个l6位字的空间,无初始值,符号名为C。 —.DATA ends 告知汇编程序一DATA段已结束。 ’ }stack segment } 说明后继段是堆栈段。 一STACK segment pars stack‘STACK? 表明STACK段并指定标号为一STACK。实质上。堆栈段是数据段的一十特殊类型。它常 用于保存在CPU和程序之间传送的数据。 db l28 dup(?) 指示汇编程序保留l28个字节的不定值。 一STACK ends 告知汇编程序一STACK段已结束。 end addem I Defines the entry point 告知汇编程序到达程序结尾,紧接着addem标号后面的代码是MS—DOS进入该程序的入口 点。 1.5汇编First程序 虽然上述程序范例深入透视了一个8088汇编语言程序,但是没有说明如何刨建一个程 序。创建忙编语言程序的第一步是使用文本编辑器输入程序的源代码(source code)。源代 码只是一个程序的文本文件。磁盘上如果有以上程序的源代码,就可以使用下列命令行利 用Microsoft Macro Assembler(MASM)汇编它: 。 第一章8088;E编语言程序设计 7 ms.sm first.asm} 如果使用Turbo Assembler(TASM)汇编程序,就输入下列命令行: tasm first.asm} 如果正确地输入了first.asm的源代码,汇编程序产生一个名为first.obj的目标模块 (object modale)。目标模块是汇编源代码到机器语言的转换结果。 此程序在能够实际运行之前还需要完成最后一个步骤。汇编语言程序创建周期的最后 阶段叫做链接(1inking)。程序的链接过程把忙编程序生成的目标模块变成可执行文件,名 叫first.exe。为利用Microsoft Linker创建first.exe,可以使用下列命令行: link firstI 另外,下列命令行使用Turbo Linker链接first.exe: tlink first I 1.5.1运行程序 至此,已建立了该程序的DOS可执行形式.使用下列DOS命令执行它: first 试运行first后,程序员可能想知道有没有出错。输入正确的命令行后.MS—DOS系统 几乎立即显示提示符。虽然这看上去不像正确的结果,但实际上该程序确实完成了预期的 功能,程序员可以使用debu9查看程序的内部工作。为此,输入下列DOS命令: debug first.exe debu9提示符出现。在提示符下输入U。U命令使debu9不亍亡编(unassemble),或更确 切地说反汇编(disassemble)后继的20个字节。下面列出了debu9产生的结果: 2131:0000 883221 2131:0003 8ED8 2131:O005 A10400 213 1:0008 03060600 2131:OOOC A30800 2131:O00F B8004C 2131:0012 CD2l 213 1:0014 0300 2131:O016 0400 2131:O018 0000 2131:001A lB894 2131:001E AlD84 MOV AX.2 132 MoV DS.AX MOV AX.[0004] ADD AX.[0006] MOV [0008].Ax MOV AX.4C00 工NT 2l ADD AX.[BX+SI] ADD AL.00 ADD [BX+S工】.AL SBB" CX.[BX+DI+F646] MOV AX.[43D8] 反汇编列出的前七行和first.asm的代码段中的七行代码几乎完全一样。唯一的区别在 8 汇编语言程序设计自学教程 于源代码使用像一STACK、a、b、和C这样的符号名,而反汇编列举所使用的实际存储器 单元。 debu9的t命令用于查看程序实际执行预期功能的效果。t命令使debu9执行下一条机 器指令,显示8088寄存器的结果内容,然后显示下一条机器语言指令的反汇编形式。输入 t,显示以下结果; 。 一t AX=2132 BX=0000 CX-00IA DX=0000 SP-0080 BP=0000 SI"0000 DI--0000 DS-2121 ES=2121 SS一2133 C9一2131 IP一0003}IV UP EI PL NZ NA PO NC 2151:0005 8ED8 MOV DS,AX 。 请注意此时AX是怎样保持一DATA段地址(2132H)的。 注;实际段地址根据DOS版本以及调入内存中的TSR(终止驻留程序)而各不相同。 继续执行指令MoV DS,AX: ‘ 一t AX=21 32 BX--0000 CX=001A DX=0000 SP-0080 BP"0000 S 1一0000 D1一0000 DS-2132 ES-2121 SS=2133 CS-t2131 IP-0005.NV UP El PL NZ NA PO NC j131:0005 A10400 MOV AX.【0004] DS:0叠O420003 ' 此时,DS寄存器保存寄存器AX的值。执行指令MOV AX,[000043: 一t 1- 。AX=0003 B)仁=0000 CX一00lA DX一0000 SP-0080 BP-0000 SI-0000 DI=0000 Dgl2132 ES=2121 SS=2133 CS=2131工PlO008 NV UP EI PL NZ NA PO NC 2131:0008 03060600 ADD AX.[0006】 。DS:00.06.-0004 此时,AX保存a中的值。执行指令ADD AX.[00063; 1 .t - 一 _ _ ^XIO007 BX臣0000 CX_00IA D】-_0000 SPl0080 BP-0000 S1一0000 D工·l0000 k 。 .DS-2132 ES-2121 SS=2133 C$-2131工P_000C N、,UP E工PL NZ NA PO NC 2131:O00C.A30800 MOV [0008].Ax - DS:0008-0000 此时.AX等于a和b相加的和。执行指令MOV[0008],AX; . 。t , AX--0007 BX=0000 CX二-001A DX--0000 SP=0080 BP-0000 91-0000 DI=0000 DS一2132 Es-2i21 SS=2133 CS-2131 IP-000F NV UP El PL NZ NA PO NC
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服