本教程是关于使用NESASM汇编器为任天堂娱乐系统(NES, Nintendo Entertainment System)编程的。该教程由浅入深,简化了NES汇编学习过程。在进一步尝试前你几乎必须了解另一种汇编语言,因为本文假设你(哪怕一丁点)基本汇编常识是具备的。例如了解GBA或者Intel x86汇编将对理解基础有很大帮助。祝你在学习NES汇编编程的旅途中一切顺利!...
分类:
其他好文 时间:
2014-11-09 15:18:38
阅读次数:
174
本文很多其它的是教会大家怎样学习。4.1 汇编学习 4.1.1 基础知识 4.1.2 ARM模拟器4.2 S5PV210启动流程4.3 点亮一个LED4.4 串口4.5 实现printf函数4.6 时钟配置4.7 重定位(BL1载入BL2到SRAM)4.8 DDR4.9 NAND FLASH读写4....
分类:
其他好文 时间:
2014-10-07 00:38:00
阅读次数:
261
给自己挖了个坑,一切都得从“HelloWorld”开始。hello.S.data
msg:
.ascii"Hello,World!\n"
len=.-msg
.text
.globl_start
_start:
/*syscallwrite(intfd,constvoid*buf,size_tcount)*/
mov%r0,$1/*fd->stdout*/
ldr%r1,=msg/*buf->msg*/
ldr%r2,=len/*count->le..
分类:
移动开发 时间:
2014-08-15 02:49:58
阅读次数:
235
AT&T汇编和intel汇编的区别
(1) 在Intel格式中大多使用大写字母,而在AT&T格式中都是用小写字母。
(2) 在AT&T格式中,寄存器名要加上“%”作为前缀,而在intel格式中则不带前缀。
(3) 在AT&T的386汇编语言中,指令的源操作数与目标操作数的顺序与在intel的386汇编语言中正好相反。在intel格式中是目标在前,源在后;而在AT...
分类:
其他好文 时间:
2014-07-12 22:05:48
阅读次数:
382
本文更多的是教会大家如何学习。
4.1 汇编学习
4.1.1 基础知识
4.1.2 ARM模拟器
4.2 S5PV210启动流程
4.3 点亮一个LED
4.4 串口
4.5 实现printf函数
4.6 时钟配置
4.7 重定位(BL1加载BL2到SRAM)
4.8 DDR
4.9 NAND FLAS...
分类:
其他好文 时间:
2014-07-01 06:48:04
阅读次数:
361
简单的call函数过程
1.参数入栈,返回地址入栈。在一个栈帧里,call function的完整过程应该是这样的,call调用的过程要经历两个过程,一个是首先把调用函数之前的指令的下一条指令地址压入栈中(push ebp),作为返回地址,也就是保存旧栈地址,接着会跳转到被调函数的地址入口。呵呵,现在就是借此来恶补汇编哈。
2.代码区跳转。在执行被调函数的时候,为函数重新开辟栈帧,(mov ebp,esp)这句的意思是将旧栈顶换为新栈的底,这里的新栈一般是由函数专属的哈, 下面就是用sub esp, ...
分类:
其他好文 时间:
2014-05-22 11:34:25
阅读次数:
189
---------------------------------------------栈,是一种数据结构,我觉得栈是抽象的,但是它同样也是实际的,因为它在内存中是连续的内存,只不过人们限制了它的使用:后进先出,学数据结构两年了,现在才理解,实在惭愧。pushax;I、sp=sp-2II、取出ax中的数据,放入当前栈..
分类:
其他好文 时间:
2014-05-08 02:39:38
阅读次数:
398
初学IBM-PC
8086,对INT指令不是很理解。现从网上总计如下:表:DOS系统功能调INT 21HAH功能调用参数返回参数00程序终止(同INT
20H)CS=程序段前缀 01键盘输入并回显 AL=输入字符02显示输出DL=输出字符 03异步通迅输入 AL=输入数据04异步通迅输出DL=输.....
分类:
其他好文 时间:
2014-05-06 01:09:14
阅读次数:
352
汇编指令:MOV的作用是往某个寄存器中存入数值。格式:mov寄存器名,数值数值-->寄存器mov寄存器A,存器寄BB-->APS:必须前后位数匹配,如:movah,bx;errorahis8bit,bxis16bitmovah,bh;rightahandbhallis8bitmovcx,dx;rightcxanddxallis16bit---------------------------..
分类:
其他好文 时间:
2014-05-04 17:29:45
阅读次数:
329
ADD指令:把两个数值相加,将结果放到第一个寄存器里面。格式:ADD寄存器名,数值ADD寄存器名,寄存器名addax,11addbx,22PS:清空数据:movax,0000两者数值的存储容量位数要匹配--------------------------------------------------------------------------------------------..
分类:
其他好文 时间:
2014-05-04 17:02:52
阅读次数:
370