摘要:
8086和186都是运行在实模式(real mode)下,从286开始支持保护模式(protected mode)。 下面是8086和186的完整指令集,参考《Microsoft Macro Assembler Reference Manual》,方便查阅。 一、操作符(Oprand)中缩写的含义: 阅读全文
摘要:
在学习16位MASM汇编中,label并不陌生,在代码中通过名称+冒号(:)的形式定义label非常常见。但label伪指令却不常见,但有时确实很重要。它相当于把所在位置后的代码或数据看成label定义的新的数据类型或新的label(冒号形式)。听着有点抽象,实例如下: 一、代码标号(code la 阅读全文
摘要:
在学习16位MASM汇编时,生成一个com格式的可执行文件,需要在代码的第一行写上org 0100h,各处的资料解释不尽相同,如: 1、程序从0100h处开始执行; 2、告诉编译器讲程序加载到0100h; 3、代码的偏移地址整体向后移动0100h,或段内的代码或数据从0100h开始放置。 这些解释在 阅读全文
摘要:
在学习16位MASM宏汇编时,开始犯的一个错误就是认为assume就是给CS、SS、DS等段寄存器进行初始化赋值的。但又需要在源码的开始阶段,通过mov ax,datasg和mov ds,ax对DS进行手动赋值,assume ds:datasg不是已经赋值过了么,倍感疑惑! 比如下面代码: assu 阅读全文
摘要:
在学习16位汇编时,debug是常用的调试工具,但很多基本用法,帮助中并未提及。本文中的基本概念是指命令语法中需要提供给命令的参数,在命令帮助中并未提供任何提示。经查资料和试验,特记录如下: 一、基本概念: DOS5.0之前debug是com格式,从5.0之后就改为exe格式了,本文是指的是DOS6 阅读全文
摘要:
为了学习16位汇编,DOS6.22下的MASM5编译环境却没有特别好的编写工具。Vim for dos虽然已经很不错了,但习惯了图形界面的编程环境,只能显示25行文字的文本模式,实在是效率太低了(博主的水平也有很大原因)。因此,想通过映射共享文件夹的方式,可在Windows下用VSCode编写程序, 阅读全文
摘要:
在编译源码的时候,总会遇到这样的情况: 1、需要运行一串命令,把一个或多个源文件转换成一个目标文件,但这些源文件也可能是通过其他源文件生成的。 2、当部分文件发生改变时,只需要运行必要(最少)的命令,生成最新的目标文件。 例如(Masm汇编举例),我们需要编译一个hello.exe文件,先将asm源 阅读全文
摘要:
华为网络设备在配置AAA认证时,有2个地方可以配置用户登录到系统后的权限等级: 1、local-user admin privilege level 15(AAA视图) 2、user privilege level 15(user-interface视图,如user-interface vty 0 阅读全文
摘要:
一、8080-80286内部寄存器基本没有变化: 二、从80386开始寄存器变为32位,增加保护模式: 三、标志寄存器: 阅读全文
摘要:
16位的MASM汇编中,标识符(Specifiers)的作用很广。什么是标识符,就是需要我们自己命名的标识,如变量名、段名等。标识符的核心作用就是用容易记忆或书写的名称,代表一个不容易记忆或书写的数据和代码。就想用汇编指令代表机器代码一样,本质无区别。 一、标识符的主要应用到以下方面: 1、代表地址 阅读全文