Home | History | Annotate | Download | only in bios

Lines Matching defs:AL

214 // mov al, #$20
249 out dx,al
302 mov al, 8[bp] ; value
789 Bit8u bl, bh, dl, dh, cl, ch, al, ah;
812 Bit8u al, ah;
1135 in al, dx
1173 mov al, 6[bp]
1174 out dx, al
1214 mov al, 4[bp] ;; cmos_reg
1215 out 0x70, al
1216 mov al, 6[bp] ;; val
1217 out 0x71, al
1231 mov al, 4[bp] ;; cmos_reg
1232 out 0x70, al
1233 in al, 0x71
1285 mov al, [bx]
1286 ;; al = return value (byte)
1333 mov al, 8[bp] ; data byte
1334 mov [bx], al ; write data byte
1445 mov al, 4[bp]
1584 mov al, #1
1587 xor al, al
1598 xchg ah, al
3588 // Returns ah: emulated drive, al: error code
3758 if (regs.u.r8.al & 0xE0 == 0) {
3762 val16 = 0x600 >> ((regs.u.r8.al & 0xE0) >> 5);
3766 outb(addr+3, regs.u.r8.al & 0x1F);
3768 regs.u.r8.al = inb(addr+6);
3780 if (timeout) outb(addr, regs.u.r8.al);
3796 regs.u.r8.al = inb(addr);
3804 regs.u.r8.al = inb(addr+6);
3834 switch (regs.u.r8.al) {
3846 regs.u.r8.al = (inb(0x92) >> 1) & 0x01;
3856 BX_INFO("int15: Func 24h, subfunc %02xh, A20 gate control not supported\n", (unsigned) regs.u.r8.al);
3883 if( regs.u.r8.al == 0 ) {
3903 } else if( regs.u.r8.al == 1 ) {
3913 regs.u.r8.al--;
4005 or al, #0x01
4031 and al, #0xFE
4068 regs.u.r8.al = inb_cmos(0x30);
4146 // 01: invalid subfunction (AL > 7)
4154 switch (regs.u.r8.al) {
4202 BX_DEBUG_INT15("INT 15h C2 AL=0, BH=%02x\n", (unsigned) regs.u.r8.bh);
4212 if (regs.u.r8.al == 5) {
4400 BX_PANIC("INT 15h C2 AL=6, BH=%02x\n", (unsigned) regs.u.r8.bh);
4508 in al, #0x61
4509 and al,#0x10
4510 mov ah, al
4515 in al, #0x61
4516 and al,#0x10
4517 cmp al, ah
4519 mov ah, al
4528 switch(regs.u.r8.al)
4959 BX_INFO("KBD: int09 handler: AL=0\n");
6278 out dx,al
6280 mov al,ah
6281 out dx,al
6284 out dx,al
6291 mov al,ah
6293 out dx,al
6785 mov al, _int13_harddisk.hd_heads + 2 [bp]
6787 mul al, ah ;; ax = heads * sectors
7374 // AL = number of sectors read (same value as passed)
7502 // AL=number of sectors written=0
7513 // AL = number of sectors read (same value as passed)
7522 // AL = number of sectors verified (same value as passed)
7662 // AL=number of sectors written=0
7947 outb(addr, regs.u.r8.al);
8067 mov al, #0x01 ;; read 1 sector
8177 regs.u.r8.al = BiosData->midnight_flag;
8212 regs.u.r8.al = regs.u.r8.ch;
8239 regs.u.r8.al = val8; // val last written to Reg B
8253 regs.u.r8.al = regs.u.r8.ch;
8280 regs.u.r8.al = val8; // AL = val last written to Reg B
8330 regs.u.r8.al = val8; // val last written to Reg B
8340 BX_INFO("unsupported PCI BIOS function 0x%02x\n", regs.u.r8.al);
8344 if (regs.u.r8.al == 0x02) {
8500 cmp al,#0x00
8507 cmp al,dl ;; int13 on emulated drive
8526 cmp al,dl ;; al is 0x00 or 0x80
8690 mov al, #0x00
8691 mov 0x043e, al ;; drive 0 & 1 uncalibrated, no interrupt has occurred
8693 mov 0x043f, al ;; diskette motor status: read op, drive0, motors off
8695 mov 0x0440, al ;; diskette motor timeout counter: not active
8696 mov 0x0441, al ;; diskette controller status return code
8698 mov 0x0442, al ;; disk & diskette controller status register 0
8699 mov 0x0443, al ;; diskette controller status register 1
8700 mov 0x0444, al ;; diskette controller status register 2
8701 mov 0x0445, al ;; diskette controller cylinder number
8702 mov 0x0446, al ;; diskette controller head number
8703 mov 0x0447, al ;; diskette controller sector number
8704 mov 0x0448, al ;; diskette controller bytes written
8706 mov 0x048b, al ;; diskette configuration data
8711 mov al, #0x10 ;; get CMOS diskette drive type
8712 out 0x70, AL
8713 in AL, 0x71
8714 mov ah, al ;; save byte to AH
8717 shr al, #4 ;; look at top 4 bits for drive 0
8725 mov al, ah ;; restore from AH
8726 and al, #0x0f ;; look at bottom 4 bits for drive 1
8734 mov al, #0x00
8735 mov 0x0490, al ;; diskette 0 media state
8736 mov 0x0491, al ;; diskette 1 media state
8741 mov 0x0492, al
8742 mov 0x0493, al
8744 mov 0x0494, al ;; diskette 0 current cylinder
8745 mov 0x0495, al ;; diskette 1 current cylinder
8747 mov al, #0x02
8748 out #0x0a, al ;; clear DMA-1 channel 2 mask bit
8765 mov al, #0x0a ; 0000 1010 = reserved, disable IRQ 14
8767 out dx, al
8771 mov 0x0474, al /* hard disk status of last operation */
8772 mov 0x0477, al /* hard disk port offset (XT only ???) */
8773 mov 0x048c, al /* hard disk status register */
8774 mov 0x048d, al /* hard disk error register */
8775 mov 0x048e, al /* hard disk task complete flag */
8776 mov al, #0x01
8777 mov 0x0475, al /* hard disk number attached */
8778 mov al, #0xc0
8779 mov 0x0476, al /* hard disk control byte */
8788 mov al, #0x12
8789 out #0x70, al
8790 in al, #0x71
8791 and al, #0xf0
8792 cmp al, #0xf0
8796 mov al, #0x19
8797 out #0x70, al
8798 in al, #0x71
8799 cmp al, #47 ;; decimal 47 - user definable
8818 mov al, #0x1f
8819 out #0x70, al
8820 in al, #0x71
8821 mov ah, al
8822 mov al, #0x1e
8823 out #0x70, al
8824 in al, #0x71
8827 mov al, #0x20
8828 out #0x70, al
8829 in al, #0x71
8830 mov (0x003d + 0x08), al ;; drive control byte
8832 mov al, #0x22
8833 out #0x70, al
8834 in al, #0x71
8835 mov ah, al
8836 mov al, #0x21
8837 out #0x70, al
8838 in al, #0x71
8841 mov al, #0x1c ;; get cylinders word in AX
8842 out #0x70, al
8843 in al, #0x71 ;; high byte
8844 mov ah, al
8845 mov al, #0x1b
8846 out #0x70, al
8847 in al, #0x71 ;; low byte
8850 mov al, #0x1d
8851 out #0x70, al
8852 in al, #0x71
8853 mov cl, al ;; CL = heads
8855 mov al, #0x23
8856 out #0x70, al
8857 in al, #0x71
8858 mov dl, al ;; DL = sectors
8877 mov al, #0xa0
8878 mov (0x003d + 0x03), al ;; A0h signature, indicates translated table
8914 mov al, #0x00 ;; sum
8916 add al, [si]
8920 not al ;; now take 2s complement
8921 inc al
8922 mov [si], al
8928 mov al, #0x12
8929 out #0x70, al
8930 in al, #0x71
8931 and al, #0x0f
8936 cmp al, #0x0f
8941 mov al, #0x1a
8942 out #0x70, al
8943 in al, #0x71
8944 cmp al, #47 ;; decimal 47 - user definable
8962 mov al, #0x28
8963 out #0x70, al
8964 in al, #0x71
8965 mov ah, al
8966 mov al, #0x27
8967 out #0x70, al
8968 in al, #0x71
8971 mov al, #0x29
8972 out #0x70, al
8973 in al, #0x71
8974 mov (0x004d + 0x08), al ;; drive control byte
8976 mov al, #0x2b
8977 out #0x70, al
8978 in al, #0x71
8979 mov ah, al
8980 mov al, #0x2a
8981 out #0x70, al
8982 in al, #0x71
8985 mov al, #0x25 ;; get cylinders word in AX
8986 out #0x70, al
8987 in al, #0x71 ;; high byte
8988 mov ah, al
8989 mov al, #0x24
8990 out #0x70, al
8991 in al, #0x71 ;; low byte
8994 mov al, #0x26
8995 out #0x70, al
8996 in al, #0x71
8997 mov cl, al ;; CL = heads
8999 mov al, #0x2c
9000 out #0x70, al
9001 in al, #0x71
9002 mov dl, al ;; DL = sectors
9021 mov al, #0xa0
9022 mov (0x004d + 0x03), al ;; A0h signature, indicates translated table
9058 mov al, #0x00 ;; sum
9060 add al, [si]
9064 not al ;; now take 2s complement
9065 inc al
9066 mov [si], al
9091 mov al, #0x20
9092 al ;; slave PIC EOI
9093 mov al, #0x20
9094 out #0x20, al ;; master PIC EOI
9131 mov al, #0x20
9132 out #0xA0, al ;; slave PIC EOI
9134 mov al, #0x20
9135 out #0x20, al ;; master PIC EOI
9140 ;; in: AL in BCD format
9141 ;; out: AL in binary format, AH will always be 0
9143 mov bl, al
9145 shr al, #4 ;; al has high digit
9147 mul al, bh ;; multiply high digit by 10 (result in AX)
9148 add al, bl ;; then add low digit
9189 mov al, #0x00
9190 out #0x70, al
9191 in al, #0x71 ;; AL has CMOS seconds in BCD
9202 mov al, #0x02
9203 out #0x70, al
9204 in al, #0x71 ;; AL has CMOS minutes in BCD
9215 mov al, #0x04
9216 out #0x70, al
9217 in al, #0x71 ;; AL has CMOS hours in BCD
9227 xor al, al
9228 mov 0x470, al ;; Timer Ticks Rollover Flag
9295 xor al, al
9298 mov al, #0x80
9312 cmp al, #0x01 ;; installation check
9317 mov al, #0x01
9320 cmp al, #0x02
9342 cmp al, #0x03
9363 cmp al, #0x08
9370 in al, dx
9372 mov cl, al
9375 cmp al, #0x09
9387 cmp al, #0x0a
9397 cmp al, #0x0b
9404 mov al, cl
9405 out dx, al
9409 cmp al, #0x0c
9421 cmp al, #0x0d
9459 and al, #0xfc
9491 cmp al, #0x01 ;; installation check
9504 cmp al, #0x02
9528 cmp al, #0x03
9551 cmp al, #0x08
9558 in al, dx
9560 mov cl, al
9563 cmp al, #0x09
9575 cmp al, #0x0a
9585 cmp al, #0x0b
9592 mov al, cl
9593 out dx, al
9597 cmp al, #0x0c
9609 cmp al, #0x0d
9619 cmp al, #0x0e
9679 and al, #0xfc
9789 or al, dl
9815 in al, dx
9816 and al, #0xfc
9817 out dx, al
9823 test al, #0x01
9856 mov al, [bp-8]
9857 add al, #0x04
9858 cmp al, #0x28
9860 mov byte ptr[bp-8], al
9866 in al, dx
9867 or al, #0x07
9868 out dx, al
9882 test al, #0x08
9885 and al, #0x07
9887 mov cl, al
9890 in al, dx
9891 or al, bl
9892 out dx, al
9903 mov al, #0x00
9904 out dx, al
9906 out dx, al
9951 in al, dx
9952 and al, #0x07
9954 dec al ;; determine pirq reg
9956 mul al, dl
9957 add al, #0x02
9960 mov al, [si+bx]
9961 mov dl, al
9965 and al, #0x03
9966 add dl, al
9967 in al, dx
9968 cmp al, #0x80
9971 mov al, [bx]
9972 out dx, al
9983 out dx, al
10005 in al, 0x92
10007 or al, #0x02
10008 out 0x92, al
10022 or al, #0x01
10073 and al, #0xFE
10096 out 0x92, al
10118 in al, dx
10119 and al, #0xdf ; clear input mode
10120 out dx, al
10122 mov al, #0xaa
10123 out dx, al
10124 in al, dx
10125 cmp al, #0xaa
10140 mov al, #0x02
10141 out dx, al
10142 in al, dx
10143 cmp al, #0x02
10146 in al, dx
10147 cmp al, #0x02
10150 xor al, al
10151 out dx, al
10174 add al, [bx]
10177 and al, #0xff
10213 mov al, [2] ;; change increment to ROM length in 512-byte blocks
10217 test al, #0x03
10219 and al, #0xfc ;; needs rounding up
10220 add al, #0x04
10320 mov al, #0x11 ; send initialisation commands
10321 out 0x20, al
10322 out 0xa0, al
10323 mov al, #0x08
10324 out 0x21, al
10325 mov al, #0x70
10326 out 0xa1, al
10327 mov al, #0x04
10328 out 0x21, al
10329 mov al, #0x02
10330 out 0xa1, al
10331 mov al, #0x01
10332 out 0x21, al
10333 out 0xa1, al
10334 mov al, #0xb8
10335 out 0x21, AL ;master pic: unmask IRQ 0, 1, 2, 6
10337 mov al, #0x8f
10339 mov al, #0x9f
10341 out 0xa1, AL ;slave pic: unmask IRQ 12, 13, 14
10359 out 0x0d,al
10360 out 0xda,al
10363 mov al, #0xC0
10364 out 0xD6, al ; cascade mode of channel 4 enabled
10365 mov al, #0x00
10366 out 0xD4, al ; unmask channel 4
10369 mov AL, #0x0f
10370 out 0x70, AL
10371 in AL, 0x71
10374 mov bl, al
10377 mov AL, #0x0f
10378 out 0x70, AL ; select CMOS register Fh
10379 mov AL, #0x00
10380 out 0x71, AL ; set shutdown action to normal
10383 mov al, bl
10386 cmp AL, #0x00
10388 cmp AL, #0x0d
10390 cmp AL, #0x09
10394 cmp al, #0x05
10398 cmp al, #0x0a
10402 cmp al, #0x0b
10406 cmp al, #0x0c
10418 ; 0xb0, 0x20, /* mov al, #0x20 */
10419 ; 0xe6, 0x20, /* out 0x20, al ;send EOI to PIC */
10511 mov al, #0x34 ; timer0: binary count, 16bit count, mode 2
10512 out 0x43, al
10513 mov al, #0x00 ; maximum count of 0000H = 18.2Hz
10514 out 0x40, al
10515 out 0x40, al
10523 mov 0x0417, al /* keyboard shift flags, set 1 */
10524 mov 0x0418, al /* keyboard shift flags, set 2 */
10525 mov 0x0419, al /* keyboard alt-numpad work area */
10526 mov 0x0471, al /* keyboard ctrl-break flag */
10527 mov 0x0497, al /* keyboard status flags 4 */
10528 mov al, #0x10
10529 mov 0x0496, al /* keyboard status flags 3 */
10552 mov al, #0x14
10553 out 0x70, al
10554 in al, 0x71
10677 out 0xf0, al // clear irq13
10871 mov al, #0xAD ;;disable keyboard
10872 out #0x64, al
10874 mov al, #0x0B
10875 out #0x20, al
10876 in al, #0x20
10877 and al, #0x02
10880 in al, #0x60 ;;read key from keyboard controller
10892 cmp al, #0xe0
10896 mov al, BYTE [0x496] ;; mf2_state |= 0x02
10897 or al, #0x02
10898 mov BYTE [0x496], al
10902 cmp al, #0xe1
10906 mov al, BYTE [0x496] ;; mf2_state |= 0x01
10907 or al, #0x01
10908 mov BYTE [0x496], al
10923 mov al, #0xAE ;;enable keyboard
10924 out #0x64, al
10944 in al, dx
10945 and al, #0xc0
10946 cmp al, #0xc0
10949 mov al, #0x08 ; sense interrupt status
10950 out dx, al
10953 in al, dx
10954 and al, #0xc0
10955 cmp al, #0xc0
10959 in al, dx
10961 in al, dx
10962 and al, #0xc0
10963 cmp al, #0xc0
10970 mov al, 0x043e
10971 or al, #0x80 ;; diskette interrupt has occurred
10972 mov 0x043e, al
11199 mov al,0x0440
11200 or al,al
11202 dec al
11203 mov 0x0440,al
11208 in al,dx
11209 and al,#0xcf
11210 out dx,al