返回首页
搜 索
400-77-456-22
英米加集团
领先RFID产品与物联网解决方案专家
INMIGA group
智慧城市
智能交通
一个写了30年代码的首席架构师对“Hello World”的
来源:英米加集团 | 作者:inmiga | 发布时间: 3562天前 | 3378 次浏览 | 分享到:


回顾30年的代码生涯 那些曾使用过的编程语言

 

  1985年 – 6502 Machine Code

  这个小app通过一个索引加载“Y-累加器”,然后通过始于$ C100的内存旋转,一次发送一个字符到ROM子程序,ROM子程序会将它们打印到显示器。这等同于机器代码中的一个for循环(for y = 0; y <= 0x0d, y++)。该RTS从子程序返回。为了执行程序,你必须使用内置的SYS命令,调出内存地址(不幸的是,你必须将十六进制值$ C000转换为十进制49152,但除此之外,这样的工作很有魅力)。我有用于“HELLO,WORLD”的PETSCII字符,保存在内存地址$ C100(是的,Commodore 64有它自己特殊字符页)。

  下面是结果:


回顾30年的代码生涯 那些曾使用过的编程语言

 

  当然,生活中的话,当我从原始机器代码转移到程序集更容易。有了程序集,我可以预先计划好我的软件,并使用标签来标记存储区域,而无需记住内存地址。上面显示的相同程序可以这样写:

  1986年 – 6502 Assembly

  ?1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14* = $C000;

  set the initial memory addressCHROUT = $FFD2 ;

  set the address for the character out subroutine

  LDY #$00 LOOP

  LDA HELLO, Y

  CMP #$00

  BEQ END

  JSR CHROUT

  INY

  BNE LOOP END

  RTSHELLO

  ASC 'HELLO, WORLD.' ;

  PETSCIIHELLOEND DFB 0 ;

  zero byte to mark the end of the string

  大约在那个时候我才意识到我真的很喜欢编写软件。我在高中学了一些课程,但所有他们教的是愚蠢的小Pascal语言,一种旨在使学习如何编程更“容易”的语言。真的?更容易吗?在使用机器监视器手工编码复杂程序之后,Pascal感觉非常的矫枉过正。当然我不得不承认“Hello, World”的语法真的特别直接。

电力能源
农林牧渔
航空航天
精益制造
快消零售
智能港口
司法监狱
仓储物流
安监消防
金融通信