请问怎么将汇编转换成c语言呢??跪求大神帮忙

data segment ;数据段
mess db 'TPCA interrupt!',0dh,0ah,'$' ;字节定义为伪指令,写入一串字符
data ends
code segment ;代码段
assume cs:code,ds:data ;段定义伪指令
start: ;开始
mov ax,cs ;中断向量的段地址为代码段
mov ds,ax
mov dx,offset int3 ;取标号int3的偏移地址
mov ax,250bh ;中断21的25号功能,置中断向量,AL=中断向量,IRQ3为0bh
int 21h ;设置中断矢量
in al,21h ;读中断屏蔽寄存器,输入口端地址为21h
and al,0f7h ;开放IRQ3中断
out 21h,al ;以上3句为开放IRQ3中断,屏蔽其他中断
mov cx,10 ;记中断循环次数为10次
sti ;置中断标志位
s1: jmp s1 ;循环等待

int3: ;中断服务程序
mov ax,data
mov ds,ax
mov dx,offset mess ;取变量名的地址偏移量
mov ah,09 ;中断21的09号功能,打印显示,显示每次中断的提示信息
int 21h
mov al,20h
out 20h,al ;发出End of Interrupt标志, 结束中断
loop s2 ;跳到S2,cx减1
in al,21h
or al,08h ;关闭IRQ3中断
out 21h,al
sti ;置中断标志位
mov ah,4ch ;返回DOS
int 21h
s2:iret ;中断返回
code ends
end start
我不会汇编,也不会C的硬件编程,可是又不知从何学起,没有任何头绪。。。
跪求大神们帮忙,拜托啦O(∩_∩)O

这个汇编貌似是x86的汇编啊,至于把汇编语言转换成高级编程语言那估计需要专用工具了,语义解析,语法分析,貌似很难哦追问

很感谢哦。。。还想请问一下如果想学习C的硬件编程有什么好的建议呢??

很感谢哦。。。还想请问一下如果想学习C的硬件编程有什么好的建议呢??

追答

其实C语言本身属于高级语言,不知道你为什么要说“C的硬件编程”,的确C语言可以有很方便的位操作,但是仍然属于一种高级语言,和汇编有本质区别。学习C语言的话,你可以找c语言的书籍,很多,比如c primer等。如果想学习硬件驱动,自己玩玩,那就看看单片机的教学视频,然后仿真就行了。如果想做开发,那就先学微机原理,然后学汇编语言,然后学习各种接口,资源,文件等的协议栈,自己动手搞。

简单入门推荐:
(1)、常规性:看郭天祥视频,开始学51单片机开发。简单,容易上手,但是可能有思维呆板,不能灵活应用,徘徊在二流水平。
(2)、激进型:向TI申请一块demon板,自己根据TI官网的资料以及各种度娘的资源慢慢学习。学的东西很全,能力提升非常大,但是很耗时,需要极大耐性。
(3)、挑战性:买一块STM32的开发板,对着店家给的程序学习调试。学到的东西多,能够自己写中等规模的工程,但是底层驱动能力可能不足。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网