文档详情

河南理工大学微机原理与单片机接口技术 程序设计071020课件.ppt

发布:2017-08-10约3.01千字共21页下载文档
文本预览下载声明
了解的内容:段各类属性(如:对齐类型、组合类型等)的含义,源程序的各种辅助说明伪指令。 掌握的内容:段寄存器说明语句的作用,堆栈段定义的特殊性。 熟练掌握的内容:段的完整定义和简化定义。 程序的四大结构(顺序结构、分支结构、循环结构和子程序)在汇编语言中的表现形式。 汇编语言的常用编程工具——MASM、LINK和Debug——的使用。;机器语言、汇编语言和高级语言;CODE1 SEGMENT ASSUME CS:CODE1, DS:DATA1 START:MOV AX, DATA1 MOV DS, AX XOR AX, AX ;用AX来对正数计数 XOR BX, BX ;用BX来对负数计数 XOR DX, DX ;用DX来对零计数 MOV CX, data ;用CX来进行循环计数 JCXZ save ;考虑数组的元素个数为0的情况 LEA SI, data+2 ;用指针SI来访问整个数组;again: CMP word ptr [SI], 0 JL lower JE equal INC AX JMP loop1 lower: INC BX JMP loop1 equal: INC DX loop1: ADD SI, 2 LOOP again save: MOV Positive, AX ;把各类的统计数保存到内存单元中 MOV Negative, BX MOV Zero, DX MOV AX, 4C00H INT 21H CODE1 ENDS END START;汇编语言源程序书写格式;第二部分是操作符。 第三部分是参数域。参数域都可由以下几种形式组成:常数、寄存器名、存储器操作数和表达式。 有三种运算符:算术运算符、逻辑运算符和关系运算符;两种操作符:数值回送操作符和属性操作符。;数据定义及存储分配伪指令 格式:[变量名] DB/DW/DD/DQ/DT 数据项表 [;注释];段定义伪指令SEGMENT/ENDS 格式: 段名 SEGMENT [定位类型] [组合类型] [`类别`] ┇ ;段内语句序列 段名 ENDS;过程定义伪指令 定义子程序的格式为: 过程名 PROC [NEAR]/[FAR] ┇ RET ┇ 过程名 ENDP;程序设计步骤;程序的基本结构;START: MOV AX,STACK_SEG MOV SS,AX MOV SP,OFFSET TOP PUSH DS SUB AX,AX PUSH AX MOV AX,DATA_SEG MOV DS,AX MOV AX,X ADD AX,8 MUL X ADD AX,8 MUL X ADD AX,6 MOV Y,AX RET MAIN ENDP CODE_SEG ENDS END START;data segment ;数据段 msg db 0dh,0ah,07h,Hello$ data ends ss_seg segment ;堆栈段 db 256 dup(?) ss_seg ends code segment ;代码段 assume cs:code,ds:data,ss:ss_seg main proc far push ds ;标准序 mov ax,0 push ax mov ax,data ;设置数据段 mov ds,ax lea dx,msg ;取字符串地址;在数据段中存放两个32位二进制无符号数DATA1和DATA2,编制一程序计算两数之和,结果存于RESULT单元中。 title double word add program data segment para public data data1 dd 1565764587 data2 dd 1293773646 result dd ? data ends ss_seg segment para s
显示全部
相似文档