数码之家

 找回密码
 立即注册
搜索
查看: 767|回复: 2

[软件] 计算ROM 存储芯片CHECKSUM的汇编程序源代码

[复制链接]
发表于 2022-11-18 11:45:28 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
早期电脑 ISA 卡上 ROM 程序,只有 CHECKSUM = 0 时, 方能被主板 BIOS 识别到,本程序用于计算 烧录 ROM 程序的校验和,和大家共享。

CSEG      SEGMENT 'CODE'
          ASSUME CS:CSEG,DS:CSEG
          ORG 100H
  _MAIN:
          MOV AX,CSEG
          MOV DS,AX
          MOV ES,AX
          JMP _START

;==========================================

HANDLE    DW 0000H
FILENAME  DB "BIOS.BIN"            // 烧录文件名 BIOS.BIN

BUFFER    DB 4100 DUP (00H)     

OERR      DB 'MAKE SURE BIOS.BIN IS PRESENT.',24H   // 错误信息
ASCII     DB '0123456789ABCDEF'

;==========================================

  _START:
          MOV AH,3DH
          MOV DX,OFFSET FILENAME
          XOR AL,AL
          INT 21H
          JNC _NEXT1

          MOV DX,OFFSET OERR
          MOV AH,09H
          INT 21H
          JMP _EXIT

  _NEXT1:
          MOV HANDLE,AX

          MOV AH,3FH
          MOV BX,HANDLE
          MOV CX,4100
          MOV DX,OFFSET BUFFER
          INT 21H

          MOV SI,OFFSET BUFFER
          XOR AX,AX
          MOV AL, BYTE PTR SI[2]
          MOV CL,9
          SHL AX,CL
          MOV CX,AX

          XOR AX,AX
  _NEXT2:
          ADD AL,BYTE PTR [SI]
          INC SI
  LOOP _NEXT2

          MOV CL,4

          MOV CH,AL
          XOR AH,AH
          SHR AL,CL
          MOV SI,AX
          MOV AL,ASCII[SI]
          MOV BX,0
          MOV AH,0EH
          INT 10H

          MOV AL,CH
          AND AX,0FH
          MOV SI,AX
          MOV AL,ASCII[SI]
          MOV BX,0
          MOV AH,0EH
          INT 10H

  _EXIT:
          MOV AX,4C00H
          INT 21H

;==========================================

CSEG      ENDS
          END _MAIN

发表于 2022-11-18 13:59:17 来自手机浏览器 | 显示全部楼层
高手。汇编,现在很少有人能整明白了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-18 14:06:08 | 显示全部楼层
maithon 发表于 2022-11-18 13:59
高手。汇编,现在很少有人能整明白了。

学了 C 语言以后,再回头看汇编, 就会觉得 汇编和 C 的概念大同小异。 这两门语言,学好任何一门, 另一门就可以视为一马平川。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-5-18 19:54 , Processed in 0.140400 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表