计算机硬件 OR CX 1,计算机硬件技术基础大纲_1.doc

本文详细介绍了汇编语言的基本概念,包括汇编过程、编辑、连接和调试工具的使用。讲解了DEBUG宏、基本语法、源程序结构,以及如何进行段和过程的定义。同时,通过实例展示了指示性语句和指令性语句的格式,并探讨了汇编语言程序设计的标准和流程。此外,还涉及了键盘输入和数据显示的相关DOS操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机硬件技术基础大纲_1

汇编语言程序设计

§1 汇编语言初步

汇编过程及工具

编辑(汇编(连接(运行

调试程序DEBUG

宏汇编基本语法

汇编源程序结构

程序={块1[数据段、堆栈段、代码段(过程1()],块2(}

过程={指示性语句,指令性语句}

指示性语句格式:

[名字] 伪指令 [操作数] [;注释]

指令性语句格式:

[标号:] [前缀]指令助记符 [操作数] [;注释]

例子

DATASEGMENT

SUMDB ?

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

PORTEQU 3

MAINPROC

GO:MOV AX,DATA

MOV DS,AX

MOV SUM,0

CYCLE:CMP SUM,100

JNA NODONE

MOV AL,SUM

OUT PORT,AL

MOVAH,4CH

INT 21H;返回DOS

NODONE:IN AL,PORT

ADD SUM,AL

JMP CYCLE

MAINENDP

CODEENDS

END GO

§2 指示性语句

符号赋值定义

EQU

格式: 符号名 EQU 表达式

表达式----值或符号(段前缀、操作数、变址引用、指令名等)

例: CONST EQU 256

DATAEQU ARRAY

ABEQUDS:[BP+8]

MEQUMOV

2.=

格式: 符号名 = 数值

定义常数,且可以重复定义,重新定义后,原来的定义自动作废。

例: A=12H

B=256

数据定义

格式: [变量名] 数据定义伪操作 表达式

数据定义伪操作: DB、DW、DD

表达式: 数值表达式、ASCII表达式、地址表达式

例1:

ADB10*20

STR1DW‘THAT IS ALL!’,0DH,0AH,’$’

DATA1DW 10 DUP(?)

SUMDW ?

TABLEDB10 DUP(4 DUP(3),7)

DBPTRDDTABLE

例2: AX 的内容为多少?

XDB ‘AB’

YDW ‘AB’

MOV AX,‘AB’;(AX)=4142H

LEA BX,X

MOV AX,[BX];(AX)=4241H

LEA BX,Y

MOV AX,[BX];(AX)=4142H

例3: 数组累加和

XYDW…

MOVAX,XY

MOV DX,0

MOV BX,0

K1:ADD BX,2

ADDAX,XY[BX]

ADCDX,0

CMPBX,38

JNE K1

段、过程、模块定义

段定义

段名SEGMENT

((

段名ENDS

过程定义

过程名PROC

((

过程名ENDP

模块定义

NAME模块名

((

END [标号]

或者 TITLE 模块名

若没有任何标名,则以原文件名为模块名。

ASSUME

格式: ASSUME CS:段名,DS:段名[,SS:段名,ES:段名]

ORG

ORG表达式

汇编程序从该表达式的值为开始地址为代码段分配存储空间。

运算符

SEG X;取段址

OFFSET X;取偏址

PTR;定类型

运算符优先权(由高到低)

1. [ ],结构变量域,LENGTH,SIZE,WIDTH,MASK

段前缀的名:

PTR,OFFSET,SEG,TYPE,THIS,段前缀

HIGH,LOW

*,/,MOD,SHL,SHR

+,-

关系运算符 EQ,NE,LT,LE,GT,GE

逻辑运算 NOT,AND,OR,XOR

SHORT

§3 汇编语言程序设计概述

判断程序质量的标准

程序正确、完整

程序易读(注释,说明)

程序执行时间

程序所占空间及行数

程序流程

规定

常见流程

顺序 分支 循环 子程序模块

§4 键盘输入与数据显示

键盘输入

键盘DOS操作

AH 功 能入口参数出口参数1键入一字符,并回显,遇∧Brea

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值