汇编-16位汇编环境搭建

16位汇编环境

在学习16位汇编时,我选择的环境是在VMware中安装Windows XP虚拟机来学习;因为Windows XP提供了兼容的DOS环境,可以直接运行和调试16位汇编程序;在win10,win11环境中原生不支持直接运行 16 位程序,如果要在win10或者win11中运行和调试16位汇编程序则需要通过如安装DOS环境模拟器等通过一些工具和方法来支持16位汇编程序运行。

①安装Windows XP:使用的虚拟化软件为VM workstation16(VM以及XP镜像有需要的兄弟私聊)

创建虚拟机:

进入创建虚拟机向导,选择典型安装:

选择稍后安装操作系统

接着选择操作系统类型为Windows XP professional

设置虚拟机名称和虚拟机存放位置(不推荐将虚拟机存放在C盘):根据自己需要来

设置虚拟机空间大小

设置虚拟机相关硬件:

导入WindowsXP镜像:(内存、处理器也可以在这个界面上设置,如果需要的话);导入完成后点击右下角的关闭,退出该设置界面。

最后点击完成,即可开启虚拟机进行系统安装。

接着按enter键进行Windows XP系统安装:

F8同意:

无需进行分区,enter安装:

按下enter继续:

等待格式化:

等待Windows安装:

此处跳出安装程序,直接点击下一步:

公司或者单位名称可随便输:

接着直接点击下一步,不进行激活(随着VMware的更新迭代可能出现Windows XP虚拟机激活出现错误无限激活的情况);不激活也能用。

选择否;

设置administrator用户密码,点击下一步;

日期与时间无需设置:

安装网络软件,选择典型设置,下一步;

不加入域,下一步;

等待安装;

安装完成,下一步;

选择不自动更新,下一步;

下一步;

不激活XP系统:

根据自己的需要设置账户:

完成;

出现经典XP系统:

安装VMTools;

②将汇编语言开发工具MASM(有需要的可以私聊我)拖入XP系统中;

至此16位汇编环境搭建完成。

环境测试代码:一个简单的汇编代码,它将从键盘读取一个字符并显示在屏幕上
.MODEL SMALL
.STACK 100H
​
.DATA
CHAR_MSG DB "Enter a character: $"
CHAR_INPUT DB ?
CHAR_OUTPUT DB "You entered: $"
​
.CODE
MAIN PROC
    MOV AX, @DATA
    MOV DS, AX
​
    ; Display message
    MOV AH, 09H
    MOV DX, OFFSET CHAR_MSG
    INT 21H
​
    ; Read character from keyboard
    MOV AH, 01H
    INT 21H
    MOV CHAR_INPUT, AL
​
    ; Display input character
    MOV AH, 09H
    MOV DX, OFFSET CHAR_OUTPUT
    INT 21H
​
    ; Display input character
    MOV AH, 02H
    MOV DL, CHAR_INPUT
    INT 21H
​
    ; Exit program
    MOV AH, 4CH
    INT 21H
MAIN ENDP
​
END MAIN

在MASM文件夹中创建一个.txt文件,并将上述代码复制进该.txt文件中;

修改.txt文件后缀名为.asm:

win+r,输入cmd进入命令行窗口,接着进入文件所在目录(不熟悉的话直接从文件资源管理器中复制即可)

目录跳转:

cd C:\Documents and Settings\wolven\桌面\MASM 6.x\MASM 6.x

接着在cmd窗口中使用ML.exe程序将汇编代码汇编成目标文件(.obj),并链接生成可执行文件(.exe);

ML.exe 1.asm

直接运行该可执行文件,查看功能;

功能正常执行,汇编环境测试完成。

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值