原创 A人调试程序之乐趣~~~

2008-10-24 18:14 2687 4 4 分类: MCU/ 嵌入式
hotpower 发表于 2008-10-24 18:14 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

136楼: A人调试程序之乐趣~~~


A人比C人更能明白函数的缔造者的意思。

如下图所示,它是WinIo读端口的函数,原型:
bool _stdcall GetPortVal(WORD wPortAddr, PDWORD pdwPortVal, BYTE bSize);


wPortAddr为什么是WORD类型呢???
因为PC规定端口需要用16位的DX寄存器来访问。

pdwPortVal为何为PDWORD类型呢???
因为它需要根据bSize(1-byte 2-word 4-dword)的大小来存放结果。

故为使函数通用,取其最大存储空间即dword。

该函数对应3条指令(下图所示):

in al,dx  (byte)

in ax,dx  (word)

in eax,dx (dword)

图中的3个mov al,1 就是改函数的返回值true,即成功调用该函数

所以,A人在对底层函数的理解方面是要远远比C人的“层次”高多了~~~

C人总是被函数的原创的文档而忽悠~~~



点击看大图


 


 


HWM 发表于 2008-10-24 19:12 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

139楼: 哈哈,那些玩意儿是A人做好以后加个C封给C人玩的。


其实现在纯A人已经几乎不存在了,倒是有不少纯C之人(针对某一具体系统)。

 


 


hotpower 发表于 2008-10-24 19:18 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

140楼: 所以嵌入式的纯C人档次肯定不必AC人高出几个“层次”的~~~


这就证明了任何有“层次”的编译器都有反汇编调试窗口的原因所在~~~

让他们去掉看还有层次吗???

所以要想成为“牛人”,纯C人“登顶”腿也是“虚脱”的~~~

建议“小牛”们一定要知道些汇编的~~~不求精通但要“明白”

否则总被一些“A牛”们忽悠~~~

 



HWM 发表于 2008-10-24 19:37 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

141楼: 呵呵,想当初还真做过一些 INT n 忽悠过一些P人(Pascal)



hotpower 发表于 2008-10-24 19:50 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

142楼: 楼高眼晕~~~


估计很少人能明白下面2段程序(在98及dos下)
mov ax,201
mov bx,7c00
mov cx,1
mov dx,80
int 13
int 20



mov ax,301
mov bx,7c00
mov cx,1
mov dx,80
int 13
int 20


hotpower 发表于 2008-10-24 20:08 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

144楼: 网管回来了~~~免战2日~~~


 

20071025224420597.jpg

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条