1.效果图

2.原理图

3.汇编程序
cpp
led_port equ 800h
org 0efffh
start:
nop
;MOV DX,800H ;800H是板子上8个LED的端口地址号
mov dx,led_port
MOV AL,0aaH ;一亮一灭间隔点亮
OUT DX,AL
mov cx,0
loop $
mov dx,led_port
MOV AL,00H ;一亮一灭间隔点亮
OUT DX,AL
mov cx,0
loop $
jmp start
nop
nop
nop
nop
TIMES 0FFF0H-($-$$) DB 0
;JMP word 0F000H:label ;Not clear why but need long jump for board hardware
jmp word 0f000h:0000h
4.烧录文件分拆
bash
# 读取原始文件的所有字节
$bytes = [System.IO.File]::ReadAllBytes("E:\产品\8088单板机\4.8086红板\烧录文件分拆\8088_ledflash.bin")
# 初始化两个字节数组
$evenBytes = @()
$oddBytes = @()
for ($i=0; $i -lt $bytes.Length; $i++) {
if ($i % 2 -eq 0) {
$evenBytes += $bytes[$i] # 偶地址 (低字节)
} else {
$oddBytes += $bytes[$i] # 奇地址 (高字节)
}
}
# 将结果写入新文件
[System.IO.File]::WriteAllBytes("E:\产品\8088单板机\4.8086红板\烧录文件分拆\8088_flash_even_bank.bin", $evenBytes)
[System.IO.File]::WriteAllBytes("E:\产品\8088单板机\4.8086红板\烧录文件分拆\8088_flash_odd_bank.bin", $oddBytes)
Write-Host "拆分完成!"

保存图片
编辑图片
移除物体
提取文字
图片翻译