当前位置: 首页 > news >正文

nas汇编程序的调试排错方法

nas汇编程序的调试排错方法:
1、查找是哪一步错了
2、查看对应的*.lst文件,本例中是"asmhead.lst"
3、根据*.lst文件的[ERROR #002]提示查看源码,改错。
4、重新运行编译,OK

1、查找是哪一步错了:

nask.exe编译汇编程序时出错了

//----------------------------
//运行boyI报错:
E:\techdoc\30dayOS\code\day03\boyI>..\..\tolset\z_tools\make.exe
make.exe -r img
make.exe[1]: Entering directory `E:/techdoc/30dayOS/code/day03/boyI'
make.exe -r haribote.img
make.exe[2]: Entering directory `E:/techdoc/30dayOS/code/day03/boyI'
nask.exe ipl10.nas ipl10.bin ipl10.lst
nask.exe asmhead.nas asmhead.bin asmhead.lst
NASK : 1 errors.
make.exe[2]: *** [asmhead.bin] Error 1
make.exe[2]: Leaving directory `E:/techdoc/30dayOS/code/day03/boyI'
make.exe[1]: *** [img] Error 2
make.exe[1]: Leaving directory `E:/techdoc/30dayOS/code/day03/boyI'
..\..\tolset\z_tools\make.exe: *** [default] Error 2E:\techdoc\30dayOS\code\day03\boyI>

2、查看对应的"asmhead.lst"文件:

在文件中根据关键字"[ERROR"查找就可以了。
E:\techdoc\30dayOS\code\day03\boyI\asmhead.lst

    23 0000C20B C7 06 0FF4 0140                 	MOV WORD [SCRNX],32024 0000C211                                 	MOV WROD [SCRNY],200>> [ERROR #002] parameter error.25 0000C211 66 C7 06 0FF8 000A0000          	MOV DWORD [VRAM],0x000a000026 0000C21A                                 	;用BIOS取键盘上各种指示灯的状态27 0000C21A B4 02                           	MOV AH,0x02

3、根据"asmhead.lst"文件的[ERROR]提示查看源码

24 0000C211 MOV WROD [SCRNY],200
>> [ERROR #002] parameter error.
查看"asmhead.nas"汇编程序源码:MOV WROD [SCRNY],200
错误原因:WORD写成了WROD
修改为:MOV WORD [SCRNY],200

4、重新运行编译,OK

E:\techdoc\30dayOS\code\tolset\day03_boyI>makeE:\techdoc\30dayOS\code\tolset\day03_boyI>..\z_tools\make.exe
../z_tools/make.exe -r img
make.exe[1]: Entering directory `E:/techdoc/30dayOS/code/tolset/day03_boyI'
../z_tools/make.exe -r haribote.img
make.exe[2]: Entering directory `E:/techdoc/30dayOS/code/tolset/day03_boyI'
../z_tools/nask.exe ipl10.nas ipl10.bin ipl10.lst
../z_tools/nask.exe asmhead.nas asmhead.bin asmhead.lst
../z_tools/cc1.exe -I../z_tools/haribote/ -Os -Wall -quiet -o bootpack.gas bootpack.c
../z_tools/gas2nask.exe -a bootpack.gas bootpack.nas
../z_tools/nask.exe bootpack.nas bootpack.obj bootpack.lst
../z_tools/obj2bim.exe @../z_tools/haribote/haribote.rul out:bootpack.bim stack:3136k map:bootpack.map \bootpack.obj
../z_tools/bim2hrb.exe bootpack.bim bootpack.hrb 0
copy /B asmhead.bin+bootpack.hrb haribote.sys
asmhead.bin
bootpack.hrb
已复制         1 个文件。
../z_tools/edimg.exe   imgin:../z_tools/fdimg0at.tek \wbinimg src:ipl10.bin len:512 from:0 to:0 \copy from:haribote.sys to:@: \imgout:haribote.img
make.exe[2]: Leaving directory `E:/techdoc/30dayOS/code/tolset/day03_boyI'
make.exe[1]: Leaving directory `E:/techdoc/30dayOS/code/tolset/day03_boyI'E:\techdoc\30dayOS\code\tolset\day03_boyI>

nsm汇编程序的调试排错方法:**
1、查找是哪一步错了
2、查看对应的*.lst文件,本例中是"asmhead.lst"
3、根据*.lst文件的[ERROR #002]提示查看源码,改错。
4、重新运行编译,OK

(全文完)

http://www.lryc.cn/news/154897.html

相关文章:

  • 【网络安全带你练爬虫-100练】第21练:批量获取文件夹中文件名
  • Unittest自动化测试框架vs Pytest自动化测试框架
  • PHP8的数组-PHP8知识详解
  • 数据仓库_维度表的两大分类
  • 4、DVWA——文件包含
  • 产品经理如何进行需求管理
  • 【从0学习Solidity】2. 值类型详解
  • 框架分析(9)-Hibernate
  • JavaScript中的原型链(prototype chain)
  • 设计模式之代理模式与外观模式
  • 动手学深度学习(四)多层感知机
  • 融云出海:社交泛娱乐出海,「从 0 到 1」最全攻略
  • 生成式人工智能促使社会转变
  • 【STM32】SPI初步使用 读写FLASH W25Q64
  • javaScript:DOM(父子/兄弟)常用属性
  • 笔记:linux中LED(GPIO)驱动设备树配置和用法
  • 能耗管理+分区温控成为开发节能、省电神器的关键!从此告别电费刺客时代
  • 垃圾回收 - 复制算法
  • 基于SpringMVC实现常见功能
  • MetInfo5.0文件包含漏洞
  • 【SpringBoot】SpringBoot实现基本的区块链的步骤与代码
  • Photoscan/Metashape 2.0.0中的地面激光扫描处理
  • git快速使用
  • java 实现代理模式
  • 【每日一题】力扣1768. 交替合并字符串
  • vscode新建vue3文件模板
  • MySql学习笔记02——MySql的简单介绍
  • mysql-1:认识mysql
  • 算法通关村-----堆在查找和排序中的应用
  • 直方图统计增强方法