第一章:基础知识01
让编程改变世界
Change the world by program
引言
汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效的应用汇编语言对其编程。 在本章中,对硬件系统结构的问题进行一部分的探讨,以使后续的课程可在一个好的基础上进行。 当课程进行到需要补充新的基础知识(关于编程结构或其他的)时候,再对相关的基础知识进行介绍和探讨。 本书的原则是,以后用到的知识,以后再说。 汇编课程的研究重点放在如何利用硬件系统的编程结构和指令集有效灵活的控制系统进行工作。机器语言
机器语言是机器指令的集合。 机器指令展开来讲就是一台机器可以正确执行的命令。 指令:01010000 (PUSH AX) 电平脉冲: [caption id="attachment_219" align="aligncenter" width="300"] 电子脉冲示例图[/caption] 早期的程序员们将 0、1 数字编程的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。 后来呢,逐渐使用高科技……但打洞洞是始祖~ S = 768 + 12288 - 1280 机器码: 101100000000000000000011 000001010000000000110000 001011010000000000000101 假如将程序错写成以下这样,请找处错误: 101100000000000000000011 000001010000000000110000 000101101000000000000101 在显示器上输出“welcome to masm”。 [codesyntax lang="asm"]; welcome to masm 机器码: 00011110 101110000000000000000000 01010000 101110001100011000001111 1000111011011000 1011010000000110 1011000000000000 1011011100000111 101110010000000000000000 1011011000011000 1011001001001111 1100110100010000 1011010000000010 1011011100000000 1011011000000000 1011001000000000 1100110100010000 1011010000001001 10001101000101100010101000000000 1100110100100001 1011010000001010 10001101000101100011000100000000 1100110100100001 1011010000000110 1011000000010100 1011011100011001 1011010100001011 1011000100010011 1011011000001101 1011001000111100 1100110100010000 1101010000000010 1101011100000000 1101000000001100 1101001000010100 1100110100010000 1011010000001001 10001101000101100000000000000000 1100110100100001 11001011[/codesyntax] 看到这样的程序,你会有什么感想? 如果程序里有一个“ 1 ”被误写为“ 0 ”,又如何去查找呢?