2269,2272c2269,2272
< 					m_CarryVal = (tmp!=0) ? 1 : 0;
< 					tmp = (~tmp)+1;
< 					set_SZPF_Byte(tmp);
< 					PutbackRMByte(tmp&0xff);
---
> 					m_dst = 0;
> 					m_src = tmp;
> 					SUBB();
> 					PutbackRMByte(m_dst);
2359,2362c2359,2362
< 					m_CarryVal = (tmp!=0) ? 1 : 0;
< 					tmp = (~tmp) + 1;
< 					set_SZPF_Word(tmp);
< 					PutbackRMWord(tmp);
---
> 					m_dst = 0;
> 					m_src = tmp;
> 					SUBX();
> 					PutbackRMWord(m_dst);
