⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nucloada.lst

📁 nucleus_arm.rar
💻 LST
📖 第 1 页 / 共 5 页
字号:
   973                              <1> %endif
   974                                  	; Turn it off again, I was just testing
   975 00000548 66E860FDFFFF            	call dword _a20_func_dis_kbc
   976                                  	; Success
   977 0000054E 6667C705[00000000]-     	mov dword [dword _ena_A20_vec],_a20_func_ena_kbc
   978 00000556 [8A020000]         
   979 0000055A 6667C705[04000000]-     	mov dword [dword _dis_A20_vec],_a20_func_dis_kbc
   980 00000562 [AE020000]         
   981 00000566 F8                      	clc
   982 00000567 E9BE01                  	jmp .done
   983                                  
   984                                  .kbc_port_EE:
   985                                  	safemsg "A20: Using port EE"
   986                              <1> %if 1
   987 0000056A EB15                <1>  jmp %%overtext
   988 0000056C 0A4132303A20557369- <1> %%msg: db 10,%1,10,0
   989 00000575 6E6720706F72742045- <1>
   990 0000057E 450A00              <1>
   991                              <1> %%overtext:
   992 00000581 6660                <1>  pushad
   993 00000583 6606                <1> o32 push es
   994 00000585 B800B8              <1>  mov ax,0xb800
   995 00000588 8EC0                <1>  mov es,ax
   996 0000058A 66BE[6C050000]      <1>  mov esi,%%msg
   997 00000590 31FF                <1>  xor di,di
   998                              <1> %%another:
   999 00000592 AC                  <1>  lodsb
  1000 00000593 3C00                <1>  cmp al,0
  1001 00000595 7406                <1>  jz %%done
  1002 00000597 AA                  <1>  stosb
  1003 00000598 B007                <1>  mov al,7
  1004 0000059A AA                  <1>  stosb
  1005 0000059B EBF5                <1>  jmp %%another
  1006                              <1> %%done:
  1007                              <1> 
  1008 0000059D B80008              <1>  mov ax,0x0800
  1009                              <1> %%another2:
  1010 000005A0 AB                  <1>  stosw
  1011 000005A1 81FFA000            <1>  cmp di,80*2
  1012 000005A5 72F9                <1>  jb %%another2
  1013                              <1> 
  1014                              <1> %if USE_MSG_DELAY
  1015                              <1>  mov ecx,200000000
  1016                              <1> %else
  1017 000005A7 66B901000000        <1>  mov ecx,1
  1018                              <1> %endif
  1019                              <1> 
  1020                              <1> %%spin:
  1021 000005AD 6649                <1>  dec ecx
  1022 000005AF 75FC                <1>  jnz %%spin
  1023                              <1> 
  1024 000005B1 6607                <1> o32 pop es
  1025 000005B3 6661                <1>  popad
  1026                              <1> %endif
  1027                                  	; Turn it off again, I was just testing
  1028 000005B5 66E819FDFFFF            	call dword _a20_func_dis_port_ee
  1029                                  	; Success
  1030 000005BB 6667C705[00000000]-     	mov dword [dword _ena_A20_vec],_a20_func_ena_port_ee
  1031 000005C3 [CE020000]         
  1032 000005C7 6667C705[04000000]-     	mov dword [dword _dis_A20_vec],_a20_func_dis_port_ee
  1033 000005CF [D4020000]         
  1034 000005D3 F8                      	clc
  1035 000005D4 E95101                  	jmp .done
  1036                                  
  1037                                  .kbc_port_92:
  1038                                  	safemsg "A20: Using port 92"
  1039                              <1> %if 1
  1040 000005D7 EB15                <1>  jmp %%overtext
  1041 000005D9 0A4132303A20557369- <1> %%msg: db 10,%1,10,0
  1042 000005E2 6E6720706F72742039- <1>
  1043 000005EB 320A00              <1>
  1044                              <1> %%overtext:
  1045 000005EE 6660                <1>  pushad
  1046 000005F0 6606                <1> o32 push es
  1047 000005F2 B800B8              <1>  mov ax,0xb800
  1048 000005F5 8EC0                <1>  mov es,ax
  1049 000005F7 66BE[D9050000]      <1>  mov esi,%%msg
  1050 000005FD 31FF                <1>  xor di,di
  1051                              <1> %%another:
  1052 000005FF AC                  <1>  lodsb
  1053 00000600 3C00                <1>  cmp al,0
  1054 00000602 7406                <1>  jz %%done
  1055 00000604 AA                  <1>  stosb
  1056 00000605 B007                <1>  mov al,7
  1057 00000607 AA                  <1>  stosb
  1058 00000608 EBF5                <1>  jmp %%another
  1059                              <1> %%done:
  1060                              <1> 
  1061 0000060A B80008              <1>  mov ax,0x0800
  1062                              <1> %%another2:
  1063 0000060D AB                  <1>  stosw
  1064 0000060E 81FFA000            <1>  cmp di,80*2
  1065 00000612 72F9                <1>  jb %%another2
  1066                              <1> 
  1067                              <1> %if USE_MSG_DELAY
  1068                              <1>  mov ecx,200000000
  1069                              <1> %else
  1070 00000614 66B901000000        <1>  mov ecx,1
  1071                              <1> %endif
  1072                              <1> 
  1073                              <1> %%spin:
  1074 0000061A 6649                <1>  dec ecx
  1075 0000061C 75FC                <1>  jnz %%spin
  1076                              <1> 
  1077 0000061E 6607                <1> o32 pop es
  1078 00000620 6661                <1>  popad
  1079                              <1> %endif
  1080                                  	; Turn it off again, I was just testing
  1081 00000622 66E8C0FCFFFF            	call dword _a20_func_dis_port_92
  1082                                  	; Success
  1083 00000628 6667C705[00000000]-     	mov dword [dword _ena_A20_vec],_a20_func_ena_port_92
  1084 00000630 [DC020000]         
  1085 00000634 6667C705[04000000]-     	mov dword [dword _dis_A20_vec],_a20_func_dis_port_92
  1086 0000063C [E8020000]         
  1087 00000640 F8                      	clc
  1088 00000641 E9E400                  	jmp .done
  1089                                  
  1090                                  .kbc_port_92_kbc:
  1091                                  	safemsg "A20: Using port 92 and kbc"
  1092                              <1> %if 1
  1093 00000644 EB1D                <1>  jmp %%overtext
  1094 00000646 0A4132303A20557369- <1> %%msg: db 10,%1,10,0
  1095 0000064F 6E6720706F72742039- <1>
  1096 00000658 3220616E64206B6263- <1>
  1097 00000661 0A00                <1>
  1098                              <1> %%overtext:
  1099 00000663 6660                <1>  pushad
  1100 00000665 6606                <1> o32 push es
  1101 00000667 B800B8              <1>  mov ax,0xb800
  1102 0000066A 8EC0                <1>  mov es,ax
  1103 0000066C 66BE[46060000]      <1>  mov esi,%%msg
  1104 00000672 31FF                <1>  xor di,di
  1105                              <1> %%another:
  1106 00000674 AC                  <1>  lodsb
  1107 00000675 3C00                <1>  cmp al,0
  1108 00000677 7406                <1>  jz %%done
  1109 00000679 AA                  <1>  stosb
  1110 0000067A B007                <1>  mov al,7
  1111 0000067C AA                  <1>  stosb
  1112 0000067D EBF5                <1>  jmp %%another
  1113                              <1> %%done:
  1114                              <1> 
  1115 0000067F B80008              <1>  mov ax,0x0800
  1116                              <1> %%another2:
  1117 00000682 AB                  <1>  stosw
  1118 00000683 81FFA000            <1>  cmp di,80*2
  1119 00000687 72F9                <1>  jb %%another2
  1120                              <1> 
  1121                              <1> %if USE_MSG_DELAY
  1122                              <1>  mov ecx,200000000
  1123                              <1> %else
  1124 00000689 66B901000000        <1>  mov ecx,1
  1125                              <1> %endif
  1126                              <1> 
  1127                              <1> %%spin:
  1128 0000068F 6649                <1>  dec ecx
  1129 00000691 75FC                <1>  jnz %%spin
  1130                              <1> 
  1131 00000693 6607                <1> o32 pop es
  1132 00000695 6661                <1>  popad
  1133                              <1> %endif
  1134                                  	; Turn it off again, I was just testing
  1135 00000697 66E863FCFFFF            	call dword _a20_func_dis_port_92_kbc
  1136                                  	; Success
  1137 0000069D 6667C705[00000000]-     	mov dword [dword _ena_A20_vec],_a20_func_ena_port_92_kbc
  1138 000006A5 [F2020000]         
  1139 000006A9 6667C705[04000000]-     	mov dword [dword _dis_A20_vec],_a20_func_dis_port_92_kbc
  1140 000006B1 [00030000]         
  1141 000006B5 F8                      	clc
  1142 000006B6 EB70                    	jmp .done
  1143                                  
  1144                                  .kbc_cmd:
  1145                                  	safemsg "A20: Using KBC command"
  1146                              <1> %if 1
  1147 000006B8 EB19                <1>  jmp %%overtext
  1148 000006BA 0A4132303A20557369- <1> %%msg: db 10,%1,10,0
  1149 000006C3 6E67204B424320636F- <1>
  1150 000006CC 6D6D616E640A00      <1>
  1151                              <1> %%overtext:
  1152 000006D3 6660                <1>  pushad
  1153 000006D5 6606                <1> o32 push es
  1154 000006D7 B800B8              <1>  mov ax,0xb800
  1155 000006DA 8EC0                <1>  mov es,ax
  1156 000006DC 66BE[BA060000]      <1>  mov esi,%%msg
  1157 000006E2 31FF                <1>  xor di,di
  1158                              <1> %%another:
  1159 000006E4 AC                  <1>  lodsb
  1160 000006E5 3C00                <1>  cmp al,0
  1161 000006E7 7406                <1>  jz %%done
  1162 000006E9 AA                  <1>  stosb
  1163 000006EA B007                <1>  mov al,7
  1164 000006EC AA                  <1>  stosb
  1165 000006ED EBF5                <1>  jmp %%another
  1166                              <1> %%done:
  1167                              <1> 
  1168 000006EF B80008              <1>  mov ax,0x0800
  1169                              <1> %%another2:
  1170 000006F2 AB                  <1>  stosw
  1171 000006F3 81FFA000            <1>  cmp di,80*2
  1172 000006F7 72F9                <1>  jb %%another2
  1173                              <1> 
  1174                              <1> %if USE_MSG_DELAY
  1175                              <1>  mov ecx,200000000
  1176                              <1> %else
  1177 000006F9 66B901000000        <1>  mov ecx,1
  1178                              <1> %endif
  1179                              <1> 
  1180                              <1> %%spin:
  1181 000006FF 6649                <1>  dec ecx
  1182 00000701 75FC                <1>  jnz %%spin
  1183                              <1> 
  1184 00000703 6607                <1> o32 pop es
  1185 00000705 6661                <1>  popad
  1186                              <1> %endif
  1187                                  	; Turn it off again, I was just testing
  1188 00000707 66E81FFCFFFF            	call dword _a20_func_dis_kbc_cmd
  1189                                  	; Success
  1190 0000070D 6667C705[00000000]-     	mov dword [dword _ena_A20_vec],_a20_func_ena_kbc_cmd
  1191 00000715 [0E030000]         
  1192 00000719 6667C705[04000000]-     	mov dword [dword _dis_A20_vec],_a20_func_dis_kbc_cmd
  1193 00000721 [2C030000]         
  1194 00000725 F8                      	clc
  1195 00000726 EB00                    	jmp .done
  1196                                  
  1197                                  .done:
  1198 00000728 6661                    	popad
  1199 0000072A 660E                    o32	push cs
  1200 0000072C 660FA9                  o32	pop gs
  1201 0000072F 669D                    	popfd
  1202 00000731 66C3                    o32	ret
  1203                                  
  1204                                  ; The following code is shared above to test for wraparound
  1205                                  ; Returns with ZF set if NO wraparound occurred (the A20 line is enabled)
  1206                                  .test_wraparound:
  1207 00000733 66E863FAFFFF            	call dword _shortdelay
  1208                                  
  1209                                  	; Use INT 0x80 vector for scratch area to detect wraparound
  1210 00000739 C70600023412            	mov word [0x80*4],0x1234
  1211                                  	; Write to wraparound segment
  1212 0000073F 65C70610027856          	mov word [gs:0x80*4 + 16],0x5678
  1213                               

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -