猫史档案馆


[操作系统内核编程] 计算机喵中的三代编程语言是如何打印字符的呢

用户:鹅少GL鹅少GL查看:0 回复:0 评论:0 创建时间:2022-04-06T20:13:50


 

center_image

众所周知编程语言经历了三大代 机器语言 ----> 汇编语言 ----> 高级语言 而在大多数从事IT行业的学生都选择学习高级语言 因为前俩代的语言已经被淘汰了更多的学生会选择高级语言 主要原因是编写方便便于辨识省去了远古的汇编与机器代码的复杂喵板而且仅有些大企业需要少量用到 只有少部分兴趣爱好者与学生会古老的编程语言 目前静态汇编的已经很少如果你去百度搜索关于汇编的知识区小的还好但是大的就完全搜索不到这就是远古语言被淘汰原因之一当然学习机器语言的更是少之又少

 

                                           编程语言简单关系链 机器语言爷爷 ----> 汇编语言父亲 ---->高级语言子女(如:c语言 java Python等)

 

那么我们看看用个门语言的helloworld的是什么样的
机器语言

在屏幕输出红色的H
10111000 00000000 10111000 mov ax,0xb800 将16位寄存器指向显卡内存缓冲区
10001110 11011000 mov ds,ax 将ax送入段地址寄存器ds中
11000110 00000110 00000000 000000000 01001000 mov byte [0],0x48 往0号偏移送入字符H
11000110 00000110 00000001 000000000 00000100 mov byte [1],0x04 往1号偏移送入颜色
11110100
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
55aa BIOS标识
.....
;用ma喵示范

data segment

string db 'Hello,World!$'

data ends

code segment

;代码段

assume cs:code,ds:data start: mov ax,data

;获取段基址

mov ds,ax

;将段基址送入寄存器

mov dx,offset string

mov ah,9

int 21h

mov ah,4ch

int 21h

code ends

end start
#include <stdio.h>
int main() {
    printf("Hello World!"); 
    return 0;
}
从以上代码得知我在其余俩个编程语言都标识了语言名称 唯独机器语言没标不是遗漏而且机器语言是没有编译器的 不像汇编语言以及高级语言一样有各式各样的语言 而机器语言就很喵板你不关是用什么写他的代码都是一个样 学习机器语言唯一好处就是不用编辑器(如:vscode等) 机器语言最好编辑器就是记事本 vim


回复

上一页1 页 / 共 0下一页