- [游客] 说的不错,但是现在国人能有多少个学习这个的时候还能有开拓视野的想法。。。 04/08 09:13
- [scuzg] 0fch展开成二进制数: 11111100,其中最高位是符号位,所以: 7ch+4=80h=12 12/20 19:05
- [842460904] 理论是应该负数原码和补码数值之和等于128,可为什么。fc和它的补码-4相加,即252+(-4)=? 09/03 23:38
- [fpamc] 顶顶…… 05/25 09:49
- [scuzg] 20位,图中有说明。 12/29 15:45
- [scuzg] 表示8位二进制数的16进制数fdh,因高位是f,所以前面前缀0以区别于标识符,也就是说,当对应8位二 12/29 15:42
- [powerofthinking] 博主的文章不错,希望再多写几篇。 12/18 13:40
- [游客] 请问0fdh为什么不是0000 1111 1101 b ?如果最高位视为符号位,它就是一个带符号数, 12/17 23:08
- [游客] 请问scuzg老师,地址加法器是多少位的啊(物理连接结构)?寄存器是16位,地址线20位,地址加法器 12/17 23:02
- [游客] 地址译码逻辑是不是应该在CPU内部啊? 我也觉得文章有点问题,还有就是看了scuzg老师很多文章, 12/17 22:59
- [qqqun238564439] 厉害 04/10 10:57
- [suixin] 少了个你,呵呵 “看着你的回答真长见识” 12/01 09:31
- [suixin] 看着的回答真长见识 12/01 09:29
- [fangorc] 先弄个友情链接,老师这的好东西太多了,慢慢消化~ 08/07 22:03
- [zdpopup] 谢谢scuzg 的宝贵意见,我看了2次你的话 08/05 01:43
- [游客] 过来踩踩。哈哈!端他爸 08/03 11:28
[2009-08-10 22:18] 汇编语言源程序框架结构和格式规范
汇编语言源程序大致包含下列 6 个“框架”元素:
;①容量足够且固定的“通用”堆栈段:
stck segment stack 'stack'
;80H的栈深度足以应付一般应用程序对堆栈的需求
dw 80h dup(0)
stck ends
;②空数据段
data segment
data ends
;③代码段
code segment
;④段声明语句
assume cs:code,ds:data,ss:stck
main: ;④定位数据段
mov ax,data
mov ds,ax
;功能代码区
⑤;程序结束、退出
mov ah,4ch
int 21h
SubProc proc
;在堆栈保存子程序将用到的寄存器的内容
;子程序功能代码区
;从堆栈恢复子程序用到的寄存器的内容
ret
SubProc endp
code ends
;⑥指定程序运行起点
end main
其实所谓汇编语言源程序的“框架”元素,不外乎是一些伪指令和指令语句,不过我们会发现,如果我们理解、熟悉了上述框架元素,那么每次编程几乎都可以用一样的方式开始:复制上述框架,然后根据程序需求做两件事情:
①在数据段定义变量和常量;
②在代码段功能代码区编程。
这是不是和 C 语言的函数编写有些接近了?
另外就是源程序的格式规范问题,希望初学朋友在意。初学编程时往往忽视源程序的格式及必要的注释,特别是汇编语言源程序,如果没有清晰的格式和必要的注释,将使程序的调试、维护和升级付出毫无价值的巨大代价。在稍具规模的公司,源程序格式要求是公司软件作业规范的重要内容之一,是程序员必须遵守的技术纪律,因此从一开始就养成良好的编程风格是非常必要的。
就我个人经验,汇编语言的源程序格式规范大致包含下述主要内容:
①指令语句的符号地址、伪指令语句的符号名从行首开始书写:
②指令和伪指令缩进8列开始书写;
③操作数从16列开始书写,多个操作数用逗号分隔;
④功能关联的语句段间用空行分隔;
⑤注释从32列开始书写,一般以语句段为单位进行注释;
⑥标识符要尽量具备“望文生义”的效果,增加代码的可读性。
上一篇《类似DOS功能调用09H的字符串显示子程序》文中的示例可供参考。由于网页篇幅的限制,注释不得已写到了被注释的功能相关语句的上方,这和上述规则有点出入。
[ younggay 发表于 2009-08-11 11:13 ]
对于汇编语言的框架,在看王爽的《汇编语言》之前,assume 语句总是卸载code段里的最开始,当时没什么感觉,不过之后看了王爽的将assume语句放到了程序的最开始,而且,不在任何段内,突然有个疑问?这个assume到底写才是规范的框架呢?王爽的形式和其他人的形式,从道理上来说,哪个更好呢?个人觉得王爽的assume的写法使程序结构更清晰,但是,目前来看,所有教材中只有他是这样写的。楼下怎么认为?
[ scuzg 发表于 2009-08-11 12:52 ]
assume 语句可放在使用段名之前任何单独的行;作为代码段的第一条语句可能是一种习惯。
[ 游客 发表于 2009-08-26 16:52 ]
不知道训练营到底是怎么回事,为什么半年多了也没动静,办不下去的话也请管理员通知大家。
[ scuzg 发表于 2009-08-26 20:37 ]
是。个人认为论坛目前的状况,和王爽老师的名气及教材的美誉度不配,最重要的是不能给初学者提供有效积极的帮助,急需改进。
[ 游客 发表于 2009-08-27 11:48 ]
的确急需改进
[ 游客 发表于 2011-01-07 11:01 ]
刚发现....