- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章数据定义及传送
(1) 算术运算符 算术运算符 + (相加), -(相减), * (相乘), / (整除运算), MOD(取余数) (*,/)→(MOD)→(+,-) 运算优先级从高到低依次为 可以使用圆括号改变运算顺序 MOV BX, 32+13/6 MOD 3 32+((13/6)MOD 3) MOV BX, 0022H 34=22H MOV AL, 30H;字节传送指令,执行后(AL)= 30H MOV AX, 30H;字传送指令,执行后(AX)= 0030H MOV EAX, 30H;双字传送指令,执行后(EAX) = 0000 0030H MOV AL, -5 ;字节传送指令,执行后(AL)= 0FBH MOV AX, -5 ;字传送指令,执行后(AX)= 0FFFBH MOV 指令举例(立即数、寄存器操作数): 正确: 错误: MOV 30H, AL ;立即数不能用作目的操作数 MOV AL, 300 ; 源操作数超出范围 MOV 指令举例(存储器、寄存器操作数): 正确: 错误: MOV [BP], BL ; 字节传送指令,BL寄存器内容送SS:[BP] MOV [BX], AX ;字传送指令,AL内容送DS:[BX], ; AH内容送DS:[BX+1] MOV DX, [SI] ;字传送指令, DS: [SI]内容送入DL, ;DS: [SI+1]内容送入DH 假设变量X_BYTE用DB定义,变量Y_WORD用DW定义 MOV [DX], BL ; DX寄存器不能用来寄存器间接寻址 MOV X_BYTE, AX ; 操作数类型不匹配 MOV 指令举例(存储器、立即数操作数): 正确: 错误: MOV X_BYTE, -5 ; 字节传送指令,-5(0FBH)送X_BYTE MOV Y_WORD, -5 ;字传送指令,-5(0FFFBH)送Y_WORD 假设变量X_BYTE用DB定义,变量Y_WORD用DW定义 MOV X_BYTE, 300 ; 目的操作数超出范围 MOV [BX], 30H ; 操作数类型不能确定 错误: MOV X_BYTE, [SI] ; 不能同时为存储器操作数 MOV X_BYTE, K_BYTE ; 不能同时为存储器操作数 MOV SS, DS ;不能同时为段寄存器操作数 两个操作数不能同时为存储器操作数或段寄存器! MOV BYTE PTR[BX], 20H ;1B立即数20H送DS:[BX] MOV WORD PTR[BX], 20H ;立即数20H送DS:[BX], ;00H送DS:[BX+1] MOV DWORD PTR[BX], 20H ;4B立即数00 00 00 20H送 ;DS:[BX]开始4个字节 MOV BYTE PTR[Y_WORD], 20H;立即数20H送变量 ;Y_WORD的第一字节 MOV AL, BYTE PTR[Y_WORD];变量Y_WORD的第一字节 ;送AL寄存器 MOV WORD PTR[X_BYTE], 20H;2B立即数00 20H送变量 ;X_BYTE开始的2字节 可以用“类型 PTR” 指定,或强行改变操作数的类型: LEA把源操作数的偏移地址装入目的操作数。它的一般格式: LEA REG16, MEM REG16表示一个16b通用寄存器,MEM是一个存储器操作数。 上面指令把存储器操作数的偏移地址存入指定的16位寄存器。 2.LEA(Load Effective Address, 装载有效地址)指令 假设变量X的偏移地址为1020H, (SI)=4455H,(EAX)=1020H, (EBP)=20H LEA DX, X ;执行后,(DX)= 1020H LEA BX, 4[EBP*2][EAX]; 执行后, (BX)=4+20H×2+1020H =1064H [例2-1] 编写程序,把4个元素的字节数组ARRAY清零。 DATA SEGMENT ARRAY DB 4 DUP (?) DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX MOV ARRAY, 0 ;第一个元素清零 MOV ARRAY+1, 0 ;第二个元素清零 MOV ARRAY+2, 0 ;第三个元素清零 MOV ARRAY+3,
您可能关注的文档
最近下载
- 10KV及以下架空配电线路的工程施工及验收要求规范.pdf VIP
- 河北省人力资源和社会保障课题研究立项申请书课题研究内容.doc VIP
- 新生儿用品清洁消毒规范.docx VIP
- 医院检验科培训课件:《ISO15189常见不符合项案例分析》.pptx
- 2021年考研英语(一)真题及答案解析.pdf VIP
- 英威腾(INVT)MH600交流伺服驱动系统中文说明书.pdf
- 变电站及输电线路运维服务工作重点难点分析方案.docx VIP
- 2022《北京市老旧小区改造工程安全检查表(监理单位)》.pdf VIP
- 《创业就业指导》课程标准.docx VIP
- 慢性阻塞性肺疾病急性加重(AECOPD)诊治中国专家共识2024(更新版).doc VIP
文档评论(0)