第二部分 汇编语言程序设计——伪指令课件.ppt

第二部分 汇编语言程序设计——伪指令课件.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二部分 汇编语言程序设计——伪指令课件

第二部分 汇编语言程序设计 —— 伪指令;参数、变量和标号;数值型参数;1. 常数;十进制常数;十六进制常数;二进制常数;字符串常数;符号常数;符号定义 DosWriteChar equ 2 CarriageReturn = 13 CallDOS equ int 21h 符号应用(左边程序段等价右侧的符号形式) mov ah,2 ;mov ah,DosWriteChar mov dl,13 ;mov dl,CarriageReturn int 21h ;CallDOS;2. 数值表达式;运算符;算术运算符;逻辑运算符;移位运算符;关系运算符;高低分离符;地址型参数;3.2.2 变量定义伪指令;变量名;初值表;变量定义伪指令助记符;定义字节单元伪指令DB;data segment ;数据段 X db a,-5 db 2 dup(100),? Y db ABC data ends;mov al,X ;此处X表示它的第1个数据,故AL←a dec X+1 ;对X为始的第2个数据减1,故成为-6 mov Y,al ;现在Y这个字符串成为 aBC;定义字单元伪指令DW;data segment ;数据段 count dw 8000h,?,AB maxint equ 64h number dw maxint array dw maxint dup(0) data ends;字变量和字常量的定义: WNUM EQU 5678H ;定义WNUM为常量 COUNT DW 20H ;定义COUNT变量,假设在数据段的偏移地址为10H 字变量和字常量的应用: MOV AX,[BX+SI+WNUM] ; MOV AX,[BX+SI+5678H] MOV AX,COUNT ; MOV AX,[0010H] MOV AX,[SI+COUNT] ; MOV AX,COUNT[SI] ; MOV AX,[SI+10H] LEA BX,COUNT ; LEA BX,[0010H] MOV BX,OFFSET COUNT ; MOV BX,0010H;定义双字单元伪指令DD;其他数据单元定义伪指令;例3.2:数据定义综合应用-1/2;例3.2:数据定义综合应用-2/2;例3.3:数据复制和显示-1/2;例3.3:数据复制和显示-2/2;定位伪指令;3.2.3 变量和标号的属性;地址操作符; org $+10 array db 45,45h .code mov ax,seg array mov ds,ax mov bx,offset array ;等价于 lea bx,array mov cl,array+4 ;等效于 mov cl,array[4] mov ax,es:[2000h];类型操作符;PTR操作符;THIS操作符;TYPE操作符; .model small .stack .data v_byte equ this byte ;v_byte是字节类型,与变量v_word的地址相同 v_word dw 3332h,3735h ;v_word是字类型的变量 target dw 5 dup(20h) ;分配数据空间2×5=10字节 crlf db 0dh,0ah,$ flag db 0 n_point dw offset s_label ;取得标号s_label的偏移地址;例3.4:属性及其应用-2/5;例3.4:属性及其应用-3/5;例3.4:属性及其应用-4/5;例3.4:属性及其应用-5/5;;SampleB.ASM stack segment stack dw 512 dup(?) stack ends data segment ... ;在数据段定义数据 data ends code segment ’code’ assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax ... ;在代码段填入指令序列 mov ax,4c00h int 21h ... ;子程序代码 code ends end start;完整段定义伪指令;段定位(align)属性;段组合(combine)属性;段字(use)属性;段类别(class)属性;指定段寄存器伪指令;段组伪指令;stackseg segment stack db 256 dup(?) stackseg ends data1 segment word public const const1 dw 100 data1 ends data2 segment word public vars var1 dw ? data2 ends datagroup group data1,d

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档