汇编语言,哪位大哥能帮我全面介绍一下’程序段前缀’,谢谢~~~

汇编语言,哪位大哥能帮我全面介绍一下’程序段前缀’,谢谢~~~,第1张

呵呵,看过楼上的连接,是个

<汇编语言命令参数程序的编写>

但是楼主好象要的不是这个.

1.程序段前缀(Program Segment Prefix)在内存是定位于程序前的、以节为边界的、一个256(100h)字节大小的区域,它是程序与MS-DOS的接口。在MS-DOS *** 作系统中,PSP实际上起着进程控制块(PCB)的作用。

xxxx程序段前缀这一概念是由CP/M *** 作系统引入MS-DOS的,但是随着MS-DOS的发展,PSP远远超过了CP/M中所确定的含义。它已包括了许多别的 *** 作系统(如Multics和UNIX)的概念,如堆栈框架、进程目录等。正确地盯卖使用PSP中的信息,一个进程可以向其子进程传送重要的控制信息,也可向其父进程返回信息。

2,给楼主一个关于程序段前缀念则团的详细介绍地址

http://www.cnsharenet.com/DOS/f/dospro/psp.htm

里面有

PSP(程序段前缀)字域意义简表

PSP是程序与MS-DOS的接口的四仔橘个方面

内容很详,看过以后就可以理解程序段前缀的意思和作用了.

简单点讲,运算符放在中间的,是我们常用的中缀表达式。运算符放在前面或者后面,就是前明迅桐激坦缀或者后缀。 人的习惯思维都是中缀表达式,可是中缀昌手不便于机器的处理。用栈处理表达式的时候,后缀更适合。

记得采纳啊

十六进制(hexadecimal,缩写为hex)是以16为基数的计数系统,它是计算机中最常用的计数系统。十六进制中的计数过程为:O,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,核启码10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,等等。十六进制中的字母是几个单位数标识符,表示十进制的10到15。要记住在不同基数下的计数规则,即从O数到比基数小1的数字,在十六进制中这个数就是十进制的15。因为西式数字中没有表示大于9的单位数,所以就用A,B,c,D,E和F来表示十进制的10到15。在十六进制中,数到F之后,就要转到两位数上,也就是1OH或Ox1O。下面对十六进制(第二行)和十进制(第一行)的计数过程作一下比较:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,……1,2,3,4,5,6,7,8,9,A, B, C, D, E, F, 10,…… 注意,十进制的10等于十六进制的A。与前面讨论过的计数系统一样,每增加一个十六进制位,实际上就增加了一个16的幂,即160(1),161(16),162(256),163(4096),等等。因此,十六进制数3F可以展开为(3×161)+(F×160),等于十进制的(48+15)或63;十六进制数13F可以展开为(1×162)+(3×161)+(F×160),等于十进制的(256+48+15)或319。在c程序中,这两个数用0x3F或Oxl3F这样的形式来表示,其中的“0x”前缀用来告诉编译程序(和程序员)该数字应被当作十六进制数来处理。如果不加“0x”前缀,你就无法判断一个数究竟是十六进制数还是十进制数(或者是八进制数)。对表20.22稍作改进,加入十六进制的计数过程,就得到了表20.24:——改哪——————————————————————————————— 二进制十进制值二进制幂十六进制十六进制幂————————————————————————————————— 0000O O 0001120 1160 0010221 2 00113 3 0100422 4 01015 5 01106 6 01117 7 1000823 8 10019 9 101010 A 101111 B 110012 C 110113 D 111014 E 111115 F 10000 16 2410 161—————————————————————————————————笔者在上表的最后又加了一行,使计数达到十进制的16。通过比较二进制、十进制和十六进制·你就会发现:“十”在二进制中是“1010”,在十进制中是“10”,在十六进制中是“A”;。。十六”在二进制中是“1 0000"或“10000”,在十进制中是“16”,在十六进制中是“1O”,,(见上表的最后一行)。这意味着什么呢?因为今天的旁锋16,32和64位处理器的位宽恰好都是16的倍数,所以在这些类型的计算机中用十六进制作为计数系统是非常合适的。十六进制位和二进位之间有一种“倍数”关系。在上表的最后一行中,二进制值被分为两部分(1 0000)。4个二进制位(或者4位)可以计数到15(包括O在内共16个不同的数字),而4位(bit)正好等于一个半字节(nibble)。在上表中你还可以发现,一个十六进制位同样可以计数到15(包括。在内共l 6个不同的数字),因此,一个十六进制位可以代表4个二进制位。一个很好的例子就是用二进制表示十进制的15和16,在二进制中,十进制的15就是1111,正好是4个二进制位能表示的最大数字;在十六进制中,十进制的15就是F,也正好是一个十六进制位能表示的最大数字。十进制的16要用5个二进制位(1 0000)或两个十六进制位(10)来表示。下面把前文提到过的两个数字(0x3F和0x13F)转换为二进制:3F 111111l3F 100111111如果把前面的空格换为O,并且把二进制位分成4位一组,那么看起来就会清楚一些:3F 0 0011 1111l3F1 0011 1111你并不一定要把二进制位分成4位一组,只不过当你明白了4个二进制位等价于一个十六进制位后,计数就更容易了。为了证明上述两组数字是相等的,可以把二进制值转换为十进制值(十六进制值到十进制值的转换已经在前文中介绍过了);二进制的111111就是(1×25)+(1×24)+(1×23)+(1×22)+(1×21)+(1×20),等于十进制的(32+16+8+4+2+1)或63,与0x3F的转换结果相同。二进制的1 0011 1111就是(1×28)+(O×27)+(0×26)+(1×25)+(1×24)+(1×23)+(1×22)++(1×21)+(1×20),等于十进制的(256+32+1 6+8+4+2+1)或319。因此,十六进制和二进制能象手掌和手套那样相互匹配。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12399369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存