举例说明我的问题:
例如,操控单片机的P1寄存器,汇编程序可以直接写成:MOV P1,#AAH
但是在C语言中,必须要在头文件中定义P1寄存器(即sfr P1 = 0x80),然后才能写P1=0xAA; 否则,编译会报错。
我的问题是,汇编语言不需要对 寄存器 进行定义么?如果要定义,在哪里定义的?
多谢。您好像已经回答了我好几个问题了。
我想您一定知道C语言的头文件可以改寄存器名称的,例如:在中有sfr P1=0x80;,我可以改成sfr PORT-ONE=0x80;。我想问,在Keil的汇编语言中,能否像C语言中改变头文件的方式,改变寄存器的名称。注意,不是用EQU伪指令,也不是在汇编的源程序中改,而是通过改某一个文件的内容,从而改变寄存器的名称。
这几天,看到过你提出的这样的问题。
编写C语言程序,必须在开始位置,用 #include ,包含一些头文件。
用汇编语言编程,寄存器名称等,系统都预置了,不用像 C 语言那样初级,必须自己操心。
因此,多数使用汇编语言的人,都不愿意、也不需要,做这种无聊的操作。
但是,在汇编程序的开始,也确实可以包含其它文件。
格式是:$INCLUDE (MY_reg51.inc)
楼主可在你的 KEIL 文件夹中,找到 reg51.inc 文件,复制为 MY_reg51.inc。
删除其中原有的寄存器命名,再按照原内容的格式,你可以随便重新命名寄存器。
以后,你只要把这个文件包含进来,你就可以使用自定义的寄存器名称。
这样做,其实并没有什么好处,你和别人,格格不入,只能自己和自己玩了。