- 1、本文档共124页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
章汇编语言与汇编程序
*例: 在800×600的图形方式下,设白色背景,画一条品红色线,从(0,0)~(599,599)。 注: 修改画点颜色,可画其他颜色的线,如AL=0,则画青色线,AL=4则画棕红色线。 设置图形方式,与显示器适配卡有关。 INT 10H与BIOS版本有关。 利用循环可画各种图形。 MOV AH,15 INT 10H 读显示器状态,暂存 PUSH AX MOV AH,0 MOV AL,6AH 设显示器方式为800?600 INT 10H MOV AH,11 MOV BH,0 MOV BL,7 设白色背景 INT 10H MOV AH,11 MOV BH,1 MOV BL,1 设彩色组1 INT 10H MOV DX,0 设初始点为(0,0) MOV CX,0 LOP: MOV AH,12 MOV AL,2 INT 10H 画线 INC DX INC CX CMP DX,599 JNE LOP WAT: MOV AH,1 INT 16H 等待按键 JZ WAT POP AX MOV AH,0 恢复显示器状态 INT 10H * * * * * * * * * * * * * 3.汇编地址计数器 $ —— 记录当前指令的地址 DATA SEGMENT BUF DB ‘012345’ COUNT EQU $ - BUF DATA ENDS 常量COUNT 的值就是BUF数据区的大小6 4、段寄存器假定伪指令 格式:ASSUME〈段寄存器:段名〉,…… 功能:告诉汇编程序各段名与段寄存器的对应关系,一般在代码段中。 因为,存储器分段管理,程序中的存储单元用逻辑地址的偏移地址来寻址,而段地址一般默认, 所以,代码段一开始就要对段 寄存器与段之间的关系做假定。 STACK SEGMENT STACK ‘STACK’ DW 32 DUP(?)STACK ENDSDATA SEGMENT W DW 12HDATA ENDSCODE SEGMENTBEGIN PROC FAR ASSUME CS:CODE,SS:STACK,DS:DATA PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX : RETBEGIN ENDPCODE ENDS END BEGIN 5、源程序结束伪指令 格式:END [表达式] 功能:源程序的最后一个语句,标志整个程序结束,即告诉汇编程序,汇编到此结束。 表达式?为可选项,必须是存储器地址,即 程序的启动地址,常为标号(一般为过程名)。 不带表达式的END结束的模块不能单独运行,为子模快。 STACK SEGMENT STACK ‘STACK’ DW 32 DUP(?)STACK ENDSDATA SEGMENT W DW 12HDATA ENDSCODE SEGMENTBEGIN PROC FAR ASSUME CS:CODE,SS:STACK,DS:DATA
文档评论(0)