真言:操作数据,先看方式,再对应解决

0 前言

对于x86系列的汇编语言,AT&T格式需要使用后缀指明操作数的数据类型,Intel格式并没有这样的规定,但是,数据类型还是必须匹配,这就导致,一部小心就出现了8位对应16位、16位对应32位的情况,但是这样是错的。

那么,如何在设计之初避免这个问题? 这是一个亟待解决的问题,我提出了一些思想观念帮你解决这个问题。

请记住,不要试图强迫自己不要犯错,应该顺其自然,思考犯错的本质,从思考问题的根源上解决这个错误,强迫自己是永远都没有效果的,即便短期有效,长期也不可能有效,这是人类的自我保护机制。

1 先搞清楚在如何操作数据:地址 or 标号

2 使用地址的时候需要注意什么?

3 使用标号的时候又该注意什么?

1 如何避免数据类型匹配

  1. 当操作内存单元的时候,先看看是什么数据类型的,是字节型,字型,还是双字型
  2. 然后根据类型,做出下列反应
字节型
寄存器 : 使用AH/AL系列
连续内存单元访问 : +1
字型
寄存器 : 使用AX系列
连续内存单元访问 : +2
双字型
寄存器 : 使用2个AX系列
连续内存单元访问 : +4
运算使用 带进位/借位 的操作

就这两步走,可以有效避免犯错。

【汇编语言】程序设计过程,如何避免数据类型匹配错误?相关推荐

  1. 【汇编语言】王爽实验5(5)(6)的解答 建立数据类型匹配的观念

    0 前言 本文解答王爽<汇编语言>实验5的(5)(6)题 同时给出一些常见问题的解答 以及给出最易犯错的地方:数据类型不匹配的解决方案 1 题目解答 1.1 实验5(5) 1.1.1 题目 ...

  2. 《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】答案

    内容修订.解析.扩展: <IBM-PC汇编语言程序设计>(第2版)[沈美明 温冬婵]--自编解析与答案 第 一 章. 习 题 1.1 用降幂法和除法将下列十进制数转换为二进制数和十六进制数 ...

  3. [转载]汇编语言程序设计第二版答案  沈美明

    原文地址:汇编语言程序设计第二版答案  沈美明作者:相约爱情海 file:///C|/Users/CaoFan/Desktop/IBM-PC汇编语言程序设计(第二版)答案.txt[2010/4/24 ...

  4. 《汇编语言程序设计教程》人民邮电出版社第二版习题及参考答案

    网上的答案是第一版的,重新整理了一下 <汇编语言程序设计教程>人民邮电出版社第二版 刘慧婷,王庆生 主编 习题及参考答案 更多汇编内容请访问:omegaxyz.com 第一章至第五章 核对 ...

  5. 新版汇编语言程序设计【课后习题答案】

    新版汇编语言程序设计[课后习题答案] 钱晓捷 主编 电子工业出版社 第2章 8086的指令系统(全) 答案集锦 2010-10-18 20:23:47 阅读842 评论1   字号:大中小 订阅    ...

  6. 《汇编语言程序设计》(双语)上机指导

    唔.省得每次忘带U盘... <汇编语言程序设计>(双语)上机指导... 1 实验1 建立windows环境下32位汇编语言开发环境... 2 实验2  Instruction Format ...

  7. Windows环境下32位汇编语言程序设计(典藏版)(含CD光盘1张)

    Windows环境下32位汇编语言程序设计(典藏版)(含CD光盘1张)(畅销10年,经典再现!) 罗云彬 著 ISBN 978-7-121-20759-4 2013年7月出版 定价:99.00元 75 ...

  8. 【微机原理与接口技术】学习笔记4 汇编语言程序设计

    文章目录 4.1 汇编语言程序格式和伪指令 4.1.1 汇编语言程序格式(略) 4.1.2 伪指令语句 1. 段定义语句 2. 段分配语句 3. 过程定义语句 4. 变量定义语句 5. 程序结束语句 ...

  9. ARM裸机开发篇3:ARM汇编语言程序设计

    写在前面: 本文章为<ARM Cortex-A7裸机开发篇>系列中的一篇,全系列总计11篇.笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板). 针对FS-MP ...

最新文章

  1. 计算机专业有没有化学课,本科化学申请计算机名校都成功了,那还有什么是不可能的呢?...
  2. 个人博客作业week7
  3. HTML5系列四(特征检测、Modernizr.js的相关介绍)
  4. 如何做深ViT模型?NUS、字节:引入Re-attention机制,实现强大性能
  5. linux静态分配设备号,Linux驱动开发之静态申请设备号
  6. 165-PHP 文本替换函数str_replace(六)
  7. java md5运算_java实现计算MD5
  8. 【移动端debug-6】如何做一个App里的web调试小工具
  9. PCB设计--PCB画图技巧
  10. JDBC开发之数据库连接池
  11. C++代码 快速排序总结
  12. ubuntu安装有道云笔记_建立基于有道云笔记的错题本
  13. ZOJ-2575 Full of Painting 动态规划
  14. vbS访问mysql语句_关于VBS连接MySQL与连接Excel
  15. 整体资产评估需要资料清单
  16. java 预览word文档_Java版office文档在线预览
  17. KMS激活工具 HEU_KMS_Activator_CH_v7.8.4
  18. html 分页样式首页下一页,css中分页样式怎么设置
  19. XML HttpRequest
  20. VC学习资料收集(12):VC小知识总结

热门文章

  1. 基于Jenkins+Gitlab的自动化部署实战
  2. 数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
  3. js深入研究之Person类案例
  4. python实例31[解析buildlog]
  5. python的颜色有哪些_Python颜色分类及格式
  6. python中print的用法_python中print用法
  7. mysql blob取值_MySQL 数据类型:
  8. shiro java配置,InI 配置 - 跟我学 Apache Shiro_教程_Java开发社区
  9. java文件操作和_JAVA文件操作类和文件夹的操作
  10. 统计文件中有多少个单词amp;c语言实现