往往没想到,我的科系中竟让有这一科的科目存在…
平常我学习的语言都是第三代语言(3GL),而汇编语言是第二代语言(2GL)
所以在编码过程中往往都比较麻烦,真的是很麻烦>.<

什么是汇编语言呢?

汇编语言(英语:Assembly language)是一种用于电子电脑、微处理器、单片机或其他可编程器件的低级语言,在不同的设备中,汇编语言对应着不同的机器语言指令集。一种汇编语言专用于某种电脑系统结构,而不像许多高级语言,可以在不同系统平台之间移植。

而我这次的报告(Assignment)是做数学二进度计算和转换(逻辑运算符)。
– x AND y
– x OR y
– x XOR y
– NOT x

以下是我完成的程序载图:

程序画面计算成绩

左图是程序开始的画面,右图则是程序计算结果…
输入x和y的二进度数目(假如你是中学生,你应该都学过二进度这些了吧…)
就会进行 AND operation 的计算:

A     B    C
0 AND 0	-> 0
0 AND 1	-> 0
1 AND 0	-> 0
1 AND 1	-> 1

计算好了二进度数目(Binary Number)再转换去十进度(Decimal Number)和十六进度(Hex Number)
在转换的编写中,我坚持不参考网络上提供的方法,用自己的逻辑思想写出来…

程序下载(我不知道能不能运行,我知道Win8是不能运行的,因没“文凭”)
点击下载 ASSIGN.EXE

以下的代码是我第一次编程的作品:(见笑了…)

为什么它那么难懂?
当我们做一个加两个数目的小程序,我们的概念是:

A + B = C

在3GL的编码中,我给你看看几种的sample:
PHP Program

$a = 5;
$b = 3;
$c = $a + $b;
echo $a."+".$b."=".$c;

c# Program

int a = 5, b = 3, c;
c = a + b;
System.out.printf("%d+%d=%d", a, b, c);

而Assembly language的写法是….

.model small
.stack 64
.data

valA db 5
valB db 3
valC db ?

.code
MAIN PROC
MOV AX, @data
MOV DS, AX

mov al, valA
add al, valB
mov valC, al

add valA, 30h
add valB, 30h
add valC, 30h

mov ah, 02h
mov dl, valA
int 21h

mov ah, 02h
mov dl, "+"
int 21h

mov ah, 02h
mov dl, valB
int 21h

mov ah, 02h
mov dl, "="
int 21h

mov ah, 02h
mov dl, valC
int 21h

MOV ah, 4ch
int 21h

MAIN ENDP
END MAIN

乱乱写的,这个答案只能少过10而已…
目前还不精通汇编语言,我只是直到是个很麻烦的写法…

虽然有众多编程语言可供选择,
但汇编依然是各大学计算机科学类专业学生的必修课,
以让学生深入了解电脑的运行原理。